Python 踏坑之旅:听说 0.1 + 0.11 != 0.21 ?

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012814856/article/details/96272936

一、引言

最近在项目的开发过程中,使用 Python 写了一个小工具供测试使用,有一天,测试提过来一个匪夷所思的问题:

小数累加的结果,总是莫名其妙

于是乎,我也打开 Python 的 IDLE 进行测试:
1
额,看来果然是这样。

通过我的简单思考,觉得应该是计算机底层表示浮点数的精度不准的问题,通过我上网查询相关资料,也证实了我这种猜想。

其中这篇博客写的非常好:
Python:浮点运算的问题与限制

二、解决

原因找到了,那么问题怎么解决呢?

其实可以这样,比如说你的结果要保留 2 位的精度,那么最后加一个 round 方法进行四舍五入的位数保留即可:
2
希望这篇博客能为你带来一些帮助:)

展开阅读全文

没有更多推荐了,返回首页