可能重複:
limit the decimal place in javascript is not working for 4.45678765e-6限制JavaScript中的小數位數不在這個數學代碼中工作?
這不會給我答案我會得到一個科學的日曆。
var myNum = Math.floor (4.45678765 * 10000)/10000;
document.write (x);
如果值有指數,甚至可以限制小數位嗎?
可能重複:
limit the decimal place in javascript is not working for 4.45678765e-6限制JavaScript中的小數位數不在這個數學代碼中工作?
這不會給我答案我會得到一個科學的日曆。
var myNum = Math.floor (4.45678765 * 10000)/10000;
document.write (x);
如果值有指數,甚至可以限制小數位嗎?
4.45678765e-6
裝置4.45678765 * 10^(-6)
或,所以
4.45678765e-6 * 10000 == 0.0445678765
Math.round(0.0445678765) == 0
錯誤的指數。 4.45678765e-6等於4.45678765 * 10^-6。修復它爲你 –
謝謝@Alex Bagnolini – bjornd
4.45678765e-6 * 10000仍小於1(它的4.45678765e-2實際上),因此調用圓形或地板會使其爲0,和將0除以10000仍然爲0.在這種情況下,您需要乘以10^10才能得到正確的答案,但這不是一個通用的解決方案。一種方法是(以僞代碼):
counter = 0
while x < 100000:
x = x * 10
counter = counter + 1
x = Math.floor(x/10)
x = x/(10^(counter - 1))
JavaScript有一個toPrecision
功能,將允許你指定顯著數字而不是小數。
var x = 4.45678765e-6;
console.log(x.toPrecision(4)); // 0.000004457
console.log(x.toFixed(4)); // 0.0000
歡迎來到Stack Overflow。您可以使用工具欄按鈕格式化源代碼。這次我爲你做了。 –
謝謝!!!!!!!!! – 0x499602D2