首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何修复乘法结果的错误小数位

如何修复乘法结果的错误小数位
EN

Stack Overflow用户
提问于 2019-06-04 02:42:58
回答 3查看 242关注 0票数 0

我有一个关于以下计算的问题:

代码语言:javascript
复制
>>> print(float('32.31') * 1e9)
32310000000.000004

我需要这个结果是32310000000.0 (没有假小数位)。当直接使用浮点时,也会发生这种情况:

代码语言:javascript
复制
>>> print(32.31 * 1e9)
32310000000.000004

有没有办法避免错误的小数位?分析字符串并四舍五入到小数位数不是一个好的解决方案。

在此之前,非常感谢您。

注意:以下代码工作正常:

代码语言:javascript
复制
>>> print(32.32 * 1e9)
32320000000.0

所以我真的很高兴在测试过程中发现了上面的问题。

编辑:感谢您的快速回答!对不起,我漏掉了一个重要的问题。该方法还必须适用于结果小于1的情况,例如:

代码语言:javascript
复制
32.31 * 1e-9

在这种情况下,我不能使用round(32.31 * 1e-9, 1)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56432905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档