我怎样才能将这样的指数小数舍入:
2.4451778232910804e-26.toFixed(4) => 2.4452e-26
在文档中,使用.toFixed()
每次都会给我0
.有特殊功能exponentially small number
吗?我宁愿不修改Number.prototype.toFixed()
.
正如您已经写的,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)