我有一个关于以下计算的问题:
>>> print(float('32.31') * 1e9)
32310000000.000004
我需要这个结果是32310000000.0
(没有假小数位)。当直接使用浮点时,也会发生这种情况:
>>> print(32.31 * 1e9)
32310000000.000004
有没有办法避免错误的小数位?分析字符串并四舍五入到小数位数不是一个好的解决方案。
在此之前,非常感谢您。
注意:以下代码工作正常:
>>> print(32.32 * 1e9)
32320000000.0
所以我真的很高兴在测试过程中发现了上面的问题。
编辑:感谢您的快速回答!对不起,我漏掉了一个重要的问题。该方法还必须适用于结果小于1的情况,例如:
32.31 * 1e-9
在这种情况下,我不能使用round(32.31 * 1e-9, 1)
https://stackoverflow.com/questions/56432905
复制相似问题