Thursday, December 23, 2004

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 26Math.round(25.2) //returns 25Math.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 decimalsvar result=Math.round(original*100)/100 //returns 28.45
2) // round "original" to 1 decimalvar result=Math.round(original*10)/10 //returns 28.5
3) //round 8.111111 to 3 decimalsvar 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 result3) Divide result by 10^x

Web Hosting Cheap PHP Plans Also at For free flags of the world