先上重写代码:
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作为小数位
相关文章: