可能重复:
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