的浮動如何能正確的用零填充最大數量的限制,使得如何在Javascript零墊浮點數字和對數字
- 的填充後的位數是7個
- 零填充到
.
- 數字與多於7位被從右側
.toFixed(6)
截斷小數點右邊忽略的數字之前的數小數點.
。
輸入
9.123
9.123456
6.12345678
100.1
輸出
9.123000
9.123450
6.123456
100.1000 // truncated from the right
的浮動如何能正確的用零填充最大數量的限制,使得如何在Javascript零墊浮點數字和對數字
.
.toFixed(6)
截斷小數點右邊忽略的數字之前的數小數點.
。
輸入
9.123
9.123456
6.12345678
100.1
輸出
9.123000
9.123450
6.123456
100.1000 // truncated from the right
n.toFixed(5).substring(0, 7)
它就會失敗對於任何100000更大。
這是我巧言令色:
Number.prototype.toTotallyFixed = function(n) {
var s = this.toString(), a = (s + (s.indexOf('.') != -1 ? '' : '.0')).split('.');
return a[0].length > n ? s.slice(0,n) : a[0] + (+('.'+a[1])).toFixed(n - (a[0].length-1)).slice(1);
}
注意,結果是一個字符串:
var n = 9.123 + '';
if (n.length < 8) {
n += new Array(9 - n.length).join('0');
} else if (n.length > 8) {
n = n.slice(0, 8);
}
你可以調整你傳遞給'.toFixed'數由小數點前的位數決定。 –
看起來不難 - 你嘗試過嗎? – jantimon
如果100,000,000? – leaf