2011-09-01 72 views
3

如何限制在这种类型的值的JavaScript小数位数为4?自从我使用十个数值的幂以来,e就是指数。 toFixed()似乎不起作用。限制指数符号小数位数为4在javascript

1.0531436913408342e-7 
-5.265718456704172e-7 
8.425149530726674e7 
+1

您想从“0.00000010531436913408342”中得到什么? '0'或''0.0000“'或'”1.053e-7“'? –

回答

11

尝试:

Math.round(val*10000)/10000 
+0

+1打我冲。 – sealz

+0

哈哈!如果只有我可以检查你的两个答案...... :)感谢您的帮助 – philip

+1

一个更干净的方法可以这样做: '''Math.round(val * Math .pow(10,limit))/ Math.pow(10,limit)''' – JustMaier

0

您可以使用Math.round();

使用Math.round(x)将圆向上或向下取整(采用经典的0.5规则)。

你可以通过你自己的标准,并让它做小数位。下面的链接有1,2和3小数位的例子。

Here is the link

3

尝试此方法:value.toPrecision(1 + 4) 4位十进制数。

+0

这个比我接受的答案要好 –

0

实际上,有一个JavaScript方法具体限制的decimal places to show in exponential notation数量:
*numObj*.toExponential([*fractionDigits*])

使用您的示例的数字,您可以:
1.0531436913408342e-7.toExponential(4) // returns 1.0531e-7 -5.265718456704172e-7.toExponential(4) // returns -5.2657e-7 8.425149530726674e7.toExponential(4) // returns 8.4251e+7

报价从MDN:

返回代表数字的字符串,指数表示法 ,一位数小数点后四舍五入为小数点 小数点后的数字

相关问题