In JavaScript, to round a number to 1 decimal place we can use the Math.round() method in the following JavaScript code:

var roundedNumber = Math.round(num * 10) / 10;

In the code above, num will be the number that we want to round to 1 decimal place.

So if we want to round the number 2.354678 to 1 decimals place, we would use the following JavaScript:

var roundedNumber = Math.round(2.354678 * 10) / 10;

Which would result in the following output:

2.4

One thing to note is that the above code will round any number to a maximum of 1 decimal place. If a number does not have at least 1 point, it will not return the number with 1 decimal point.

If we want the number to always have 1 decimal point, then we need to add a little more code. Let’s do this in the example below.

Round a Number to Exactly 1 Decimals Point

Below we will provide code to let the user input a number, and then use the code above to round the number to 1 decimal point. Here is our simple HTML setup:

Type a number you want to round to 1 decimal place:

Below is the JavaScript code which take the user input using the onkeyup event or the onclick event along with the value property and use the Math.round() method on that user input and update the results below using the textContent property.

We talked about how we always want to return a number with 1 decimal place. So if the user types in the number 2, we want to return 2.0.

To do this, we just need to add a little more code to check the length of the decimal, using the indexOf() method.

function roundNum(e) {
  var roundedNumber;
  //If we clicked or pressed enter, run the following code 
  if( e == 'click' || e.keyCode == 13 ){
    var userNum = document.getElementById("userVal").value;
    
    //Round number to 1 decimal place, so use the code from the example above
    roundedNumber = Math.round(Number(userNum) * 10) / 10;
    
    //Convert Number to string to check decimal places
    roundedNumber = roundedNumber + "";

    //Check if number does not have a decimal point
    if(roundedNumber.indexOf('.') == -1){
      //Number has 0 decimal places, so add one
        roundedNumber = roundedNumber + '.0';
    }
    //Show the rounded number to the user
    document.getElementById("results").textContent = roundedNumber + "";   
  }
};

The final code and output for this example are below:

Code Output:

Type a number you want to round to 1 decimal place:


Full Code:

Type a number you want to round to 1 decimal place:

Hopefully this article has been useful in helping you understand how to use JavaScript to round to 1 decimal.

Categorized in:

JavaScript,

Last Update: February 26, 2024