先上重写代码:
Number.prototype.toFixed = function(s) {
var changenum = (parseInt(this * Math.pow(10, s) + 0.5) / Math.pow(10, s)).toString();
index = changenum.indexOf(".");
if (index < 0 && s > 0) {
changenum = changenum + ".";
for (i = 0; i < s; i++) {
changenum = changenum + "0";
}
} else {
index = changenum.length - index;
for (i = 0; i < (s - index) + 1; i++) {
changenum = changenum + "0";
}
}
return changenum;
}
问题环境:1、 在对数值0.005进行四舍五入保留2为数字时,在ie8会发现0.005.toFixed(2)=0.00
2、在toFixed使用小数点后为0的数字都被忽略, 没有保留0作为小数位
相关文章:
本文介绍了一种JavaScript中toFixed方法的重写方案,解决了IE8浏览器下0.005.toFixed(2)返回0.00的问题,并确保了在toFixed使用小数点后为0的数字时能够正确保留指定的小数位。
1262

被折叠的 条评论
为什么被折叠?



