Number rounding in JavaScript
So trivial a task to us humans, almost so to JavaScript as well. Round up your brain cells as we explore number rounding in the language!
Basic idea
JavaScript helps lay the foundation for rounding off numbers with the following method:
Math.round(x)
Using it, any supplied argument is rounded off to the nearest integer, and using the ".5" up rule. For example:
Math.round(25.9) //returns 26 Math.round(25.2) //returns 25 Math.round(-2.58) //returns -3
If purging numbers of decimals is all that you require, class dismissed!
Taking things a few decimals further
Want to display $25 in standard currency format? How about PI to finity and not beyond? Formatting numbers to specific decimal points entails still Math.round(), but padded with a little multiplication and division. See if you can identify the magic formula involved, with the below examples:
var original=28.453
1) //round "original" to two decimals var result=Math.round(original*100)/100 //returns 28.45
2) // round "original" to 1 decimal var result=Math.round(original*10)/10 //returns 28.5
3) //round 8.111111 to 3 decimals var result=Math.round(8.111111*1000)/1000 //returns 8.111
In case you haven't picked up on it, the formula to round any number to x decimal points is:
1) Multiple the original number by 10^x (10 to the power
of x)
2) Apply Math.round() to the result
3) Divide result by 10^x
Ahh, pre Algebra class all over again...