Something I recently came across when working with calculations which were to 4 decimal places and then had to be rounded to 2 decimal places, was rounding in Javascript.

The code that was originally doing this was `toFixed(x)`

where x is the number of decimal places required. After some incorrect calcualtions and investigation, I found that `toFixed(x)`

instead of rounding to 2 decimal places, was discarding anything after the 2 decimal places. More chopping rather than rounding!

Then I looked into the Math.round function to see if this would be a better alternative and it was. Using the following logic, the totals now round nicely to 2 decimal places (this can be adapted for however many decimal places are required).

`Math.round(total * 10^x) / 10^x`

(where x is the number of decimal places required)

Therefore my code reads…

`Math.round(total * 100) / 100`

And this gives me 2 lovely decimal places, rounded, not chopped.

### Like this:

Like Loading...

*Related*

## Leave a Reply