如何为小数转换准确获取正确的parseInt值?

时间:2019-03-26 14:29:10

标签: javascript parseint parsefloat

我正在尝试将十进制字符串"0.00967040"转换为整数967044。但是,我得到以下输出:

> parseInt(0.00967040*1e8)
967039
> parseFloat(0.00967040*1e8)
967039.9999999999
> Math.round(parseFloat(0.009670440*1e8))
967044
> Math.ceil(parseFloat(0.009670440*1e8))
967045
> Math.floor(parseFloat(0.009670440*1e8))
967044
> Math.trunc(parseFloat(0.009670440*1e8))
967044

指定基数不能消除此问题:

> parseInt(0.00967040*1e8, 10)
967039

我在这里想念什么?

通过更多测试,我得到了想要的答案

Math.round(parseFloat("0.00967040")*1e8)
967040

...但是为什么呢?

0 个答案:

没有答案