• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

The Programming Expert

Solving All of Your Programming Headaches

  • HTML
  • JavaScript
  • jQuery
  • PHP
  • Python
  • SAS
  • Ruby
  • About
You are here: Home / JavaScript / Using JavaScript to Round to 2 Decimal Places

Using JavaScript to Round to 2 Decimal Places

April 17, 2022 Leave a Comment

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

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

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

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

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

Which would result in the following output:

2.35

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

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

Round a Number to Exactly 2 Decimals Places

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

<p>Type a number you want to round to 2 decimal places:</p>
<input id="userVal" type="text" value="" onkeyup="roundNum(event)">
<input id="submitNum" type="submit" value="Submit" onclick="roundNum('click')">
<div id="results"></div>

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 2 decimal places. So if the user types in the number 2, we want to return 2.00.

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 2 decimal places, so use the code from the example above
    roundedNumber = Math.round(Number(userNum) * 100) / 100;
    
    //Convert Number to string to check decimal places
    roundedNumber = roundedNumber + "";

    //Check if number had a decimal point
    if(roundedNumber.indexOf('.') != -1){
      var decimalPlaces = roundedNumber.substring(roundedNumber.indexOf('.'));

      //Check if decimal has one place
      if( decimalPlaces.length == 2 ){
        //Number only has one decimal place, so add a 0
        roundedNumber = roundedNumber + '0';
      }
    } else {
      //Number has 0 decimal places, so add two
        roundedNumber = roundedNumber + '.00';
    }
    //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 2 decimal places:


Full Code:

<p>Type a number you want to round to 2 decimal places:</p>
<input id="userVal" type="text" value="" onkeyup="roundNum(event)">
<input id="submitNum" type="submit" value="Submit" onclick="roundNum('click')">
<div id="results"></div>

<script>

function roundNum(e) {
  var roundedNumber;
  if( e == 'click' || e.keyCode == 13 ){
    var userNum = document.getElementById("userVal").value;
    roundedNumber = Math.round(Number(userNum) * 100) / 100;
    roundedNumber = roundedNumber + "";
    if(roundedNumber.indexOf('.') != -1){
      var decimalPlaces = roundedNumber.substring(roundedNumber.indexOf('.'));
      if( decimalPlaces.length == 2 ){
        roundedNumber = roundedNumber + '0';
      }
    } else {
        roundedNumber = roundedNumber + '.00';
    }
    document.getElementById("results").textContent = roundedNumber + "";   
  }
};

</script>

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

Other Articles You'll Also Like:

  • 1.  JavaScript sinh – Find Hyperbolic Sine of Number Using Math.sinh()
  • 2.  How to Use JavaScript to Round Up Numbers
  • 3.  Using JavaScript to Rotate an Image
  • 4.  Using JavaScript to Check if String Contains Numbers
  • 5.  JavaScript acosh – Find Hyperbolic Arccosine of Number
  • 6.  Using JavaScript to Add Seconds to a Date
  • 7.  Using JavaScript to Check if Array is Empty
  • 8.  Using JavaScript to get the Last Element in Array
  • 9.  How to Clear an Input Field in JavaScript
  • 10.  Using JavaScript to Replace a Character at an Index

About The Programming Expert

The Programming Expert is a compilation of a programmer’s findings in the world of software development, website creation, and automation of processes.

Programming allows us to create amazing applications which make our work more efficient, repeatable and accurate.

At the end of the day, we want to be able to just push a button and let the code do it’s magic.

You can read more about us on our about page.

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

About The Programming Expert

the programming expert main image

Welcome to The Programming Expert. We are a group of US-based programming professionals who have helped companies build, maintain, and improve everything from simple websites to large-scale projects.

We built The Programming Expert to help you solve your programming problems with useful coding methods and functions in various programming languages.

Search

Learn Coding from Experts on Udemy

Looking to boost your skills and learn how to become a programming expert?

Check out the links below to view Udemy courses for learning to program in the following languages:

Copyright © 2023 · The Programming Expert · About · Privacy Policy