用.toFixed()舍入指数小的数字

neh*_*hel 7 javascript jquery

我怎样才能将这样的指数小数舍入:

2.4451778232910804e-26.toFixed(4) => 2.4452e-26

在文档中,使用.toFixed()每次都会给我0.有特殊功能exponentially small number吗?我宁愿不修改Number.prototype.toFixed().

Mat*_*iMu 4

正如您已经写的,toFixed不够精确,因为它只允许“仅”最多 20 位小数。乘法 + 除法效果不佳,因为除法可能会再次给出不准确的较长数字。但toPrecision(<amount-of-precision>)可能会有所帮助。

编辑:如果您想要 4 个小数位,则需要传递 5 作为参数(因为点之前的数字也计数)。

toPrecision会给你一个字符串,但如果需要的话,你可以轻松地将它再次转换回数字。例如Number(someNumberAsString)

var someNumber = 2.4451778232910804e-26;
console.log(someNumber);
console.log(someNumber.toPrecision(8));
Run Code Online (Sandbox Code Playgroud)