之前一直在用这个js自带的toFixed函数来进行四舍五入的操作,可是,在实际使用过程中却遇到了问题。

比如
Javascript代码
  1. var money=0.00542;//0.006;   
  2. alert(Number(money).toFixed(2));   
  3. //0.00  


可以看出上面的结果是错误的,下面的方法通过巧妙的使用Math.round函数,完全可以解决数值很小时的精度问题。

Javascript代码
  1. var money=0.00542;//0.006;   
  2. alert(Number(money).toFixed(2));   
  3.   
  4. function round2(number,fractionDigits){   
  5.     with(Math){   
  6.         return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);   
  7.     }   
  8. }   
  9. alert(round2(money,2));//0.01  


round 方法
返回与给出的数值表达式最接近的整数。

Math.round(number)

必选项 number 参数是要舍入到最接近整数的值。

说明
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
posted on 2009-03-05 15:11  轻狂如我,奋华图强  阅读(749)  评论(0)    收藏  举报