How to Round Off to One Decimal Place in Javascript
In this tutorial, you will learn how to round off to one decimal place in javascript. The decimal number has the whole number part and the fractional part where the fractional part is separated by a decimal point. For example, 21.35 is a decimal number where 21 is the whole number and 35 is the fractional part.
To round off any decimal number up to 1 decimal place, you can make use of the toFixed()
method, but in different browsers, this method behaves differently and that is why we are going to create our custom method to accomplish the goal.
In the following example, we have an input field in which we will enter a random decimal number. Upon click of a button, we will round it off to one decimal place and display the decimal number on the screen. Please have a look over the code example and the steps given below.
HTML & CSS
- We have 4 elements in the HTML file (
div
,input
,button
, andh1
). Thediv
element is just a wrapper for the rest of the elements. - The
innerText
for thebutton
element is“Get”
and for theh1
element, it is“Result”
. - We have done some basic styling using CSS and added the link to our
style.css
stylesheet inside thehead
element. - We have also included our javascript file
script.js
with ascript
tag at the bottom.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <div class="container"> <input type="number" placeholder="Enter Number"> <button>Get</button> <h1>Result</h1> </div> <script src="script.js"></script> </body> </html>
.container { text-align: center; } button { margin-top: 10px; padding: 10px 20px; } input { display: block; margin: 10px auto; padding: 10px 20px; } input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
Javascript
- We have selected the
input
element,button
element, andh1
element using thedocument.querySelector()
method and stored them ininput
,btnGet
, andoutput
variables respectively. - We have attached a
click
event listener to thebutton
element. - In the event handler function, we are getting the value from the
input
element usingvalue
property and converting it into number type using theNumber()
method. The conversion result is stored in thenum
variable. - We have created the
roundOff()
method which takes 2 parameters,value
andprecision
. This method will be responsible for rounding off the decimal number. - We are calling the
roundOff()
method and passing itnum
and 1 as parameters. The returned value will be stored in theresult
variable. - We are displaying the
result
in theh1
element using theinnerText
property.
let input = document.querySelector("input"); let btnGet = document.querySelector("button"); let output = document.querySelector("h1"); btnGet.addEventListener("click", () => { let num = Number(input.value); let result = roundOff(num, 1); output.innerText = result; }); function roundOff(value, precision) { var multiplier = Math.pow(10, precision || 0); return Math.round(value * multiplier) / multiplier; }