每次我使用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>
如果值有指数,是否可以限制小数位?
答案 0 :(得分:1)
4.45678765e-6
为0.00000445678765
,小数点后只有五位数的数字为0.00000
,因此JavaScript会为您提供正确的结果。
答案 1 :(得分:1)
尝试.toPrecision(5)。 IE:(4.45678765).toPrecision(5)
答案 2 :(得分:0)
您可以使用 -
var x = Number((4.45678765 * 10000)/10000).toFixed(5);
toFixed( <digit> )
会将您的值限制为小数点后的数字。
答案 3 :(得分:0)
不是100%肯定你的追求,但如果你想要力量;
var f = 4.45678765e-6;
var exp = Math.floor(Math.log(Math.abs(f)) / Math.LN10);
// -6
var f2 = f * Math.pow(10, -exp);
// 4.45678765