每次我使用Math.round(4.45678765e-6 * 10000)/10000时,它会给我一个0值,但是如果我去掉e-6,它会给出正确的答案4.4567我应该怎么做?这是我的代码。这个值的幂是10,类似于4.45678765x10^-6。
<html>
<script type="text/javascript">
var x = Math.floor (4.45678765 * 10000)/10000;
document.write (x);
</script>
</html>如果值有指数,是否有可能限制小数位数?
发布于 2011-09-06 19:57:22
4.45678765e-6是0.00000445678765,小数点后只有五位数的数字是0.00000,所以JavaScript给出了正确的结果。
发布于 2011-09-06 20:03:28
请尝试使用.toPrecision(5)。即:(4.45678765).toPrecision(5)
发布于 2016-04-11 05:26:53
使用“numObj.toExponential(FractionDigits)”
你的案例是它存在的理由,而这个被忽视的gem似乎是一个很少有的javascript方法!
来自MDN的报价:
返回一个字符串,该字符串以指数表示法表示Number对象,小数点前有一位,小数点后四舍五入为fractionDigits位
更简单地说,它限制了以指数表示法显示的小数位数。
var x = 4.45678765e-6.toExponential(5) //returns 4.45679e-6
var x = 4.45678765e-6.toExponential(2) //returns 4.46e-6在这里查看使用指数表示法进行更多舍入的示例:https://stackoverflow.com/a/36532545/5440638
https://stackoverflow.com/questions/7319343
复制相似问题