这个是js中Number对象自带的toFixed的方法。用于进行四舍五入的操作。
例如:
5.05---->toFixed(1) 5.1
5.056--->toFixed(2) 5.06
可是,在实际使用过程中却遇到了问题。
- var money=0.00542;//0.006;
- alert(Number(money).toFixed(2));
- //0.00
可以看出上面的结果是错误的,下面的方法通过巧妙的使用Math.round函数,完全可以解决数值很小时的精度问题。
- var money=0.00542;//0.006;
- alert(Number(money).toFixed(2));
- function round2(number,fractionDigits){
- with(Math){
- return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);
- }
- }
- alert(round2(money,2));//0.01
round 方法
返回与给出的数值表达式最接近的整数。
Math.round(number)
必选项 number 参数是要舍入到最接近整数的值。
说明
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
相关文档:http://kevinpeng.iteye.com/blog/772591