先上重寫代碼:
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作為小數位
相關文章:
js處理數字保留2位小數,強制保留2位小數不夠補上.00
數字格式化,格式數字保留2位小數點,格式數字自定義保留n位小數點
js數字金額大寫轉換