Javascript代替toFixed实现四舍五入

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

 

发现项目中有人使用toFixed(n)保留n位小数,在网上查了一下发现这个函数存在问题,下面有解决方法,转自http://www.javaeye.com/topic/308966

 

示例:

var money=0.00542;//0.006; alert(Number(money).toFixed(2)); //0.00 IE7下

 

解决方法:

var money=0.00542;//0.006; alert(Number(money).toFixed(2)); //思路:先使用round函数四舍五入成整数,然后再保留指定小数位 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 的最大整数。

你可能感兴趣的:(JavaScript)