将数字四舍五入到两个数字

时间:2018-09-12 14:57:56

标签: javascript reactjs

我在尝试将一些数字四舍五入时遇到问题。

我知道它并不那么复杂,我正在尝试通过这种方式进行操作:

console.log(parseFloat(3.4155113501943415e-303).toFixed(2))
console.log(parseFloat(8.224160000472033e-304).toFixed(2))
console.log(parseFloat(8.769850182148146e-304).toFixed(2))

但是我对toFixed有问题,它只为我的所有号码返回0.00。 我怀疑这是因为我的数字是这样写的:

3.4155113501943415e-303
8.224160000472033e-304
8.769850182148146e-304

e-304结尾。是问题吗?我必须删除该部分还是周围有办法?

2 个答案:

答案 0 :(得分:0)

我认为我遇到了与您的Parsing and converting exponential values to decimal in JavaScript相同的问题。问题是3.4155113501943415e-303表示在0.0000前面的300个零。(依此类推,直到300).00000034155113501943415。因此,当您使用toFixed(2)时,您只会得到0.00。在我给您的链接上,有一个函数可以将指数数加倍,然后可以将其取整。

答案 1 :(得分:0)

我只是习惯了toPrecision()而有效。在他们给我的示例中,他们只是删除了“ en”,我认为这很懒,我们只是不知道它是e-343还是e-342,这是一件疯狂的事情。

无论如何,我找到了答案,谢谢大家!