限制javascript中的小数位不适用于4.45678765e-6

时间:2011-09-06 11:43:30

标签: javascript

每次我使用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>

如果值有指数,是否可以限制小数位?

4 个答案:

答案 0 :(得分:1)

4.45678765e-60.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