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:
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...
|