Python浮点数精度问题及解决方案(decimal模块)

Python浮点数精度问题及解决方案(decimal模块),第1张

很多友友们在使用python编写程序时肯定都遇到过一个”阻拦索“,那就是python的浮点数减法精度问题,如图

当时我也很吃惊,后来我问过比我资历高点的程序员得知,python的浮点数减法有一种精度问题,这种问题是由于二进制转10进制导致的,下列是解决方案,我们需要用到一个模块,叫做decimal,这个模块是python的内置模块使用方法如下

# 导入decimal模块
from decimal import Decimal
# 这里拿13.1-11.举例子
a = Decimal('13.5') - Decimal('11.1')  # 注意,Decimal括号里的数字需加双引号(int-->str)
# 打印a的值实验一下
print(a)

运算结果如下

此时我们发现,值变回2.4了!

到这里,问题就已经解决了,如果有更简便的方法,请写在评论区

感谢阅读24K野生程序员的博客,感谢支持!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/793388.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存