提问人:Faroque Ahmed 提问时间:10/20/2022 最后编辑:matszwecjaFaroque Ahmed 更新时间:10/20/2022 访问量:582
为什么 0.1+0.2-0.3 不等于 0.0?[复制]
Why doesn't 0.1+0.2-0.3 equal 0.0? [duplicate]
问:
为什么 0.1+0.2-0.3 不等于 0.0 ?根据正态方程,结果应该是 0,但为什么不是呢?
有人可以解释一下原因吗?
答:
-1赞
ZEE-AL-EID AHMED
10/20/2022
#1
包括 Python 在内的所有编程语言都使用 32 位浮点表示形式来表示数字。对于十进制分数,这种浮点数系统会导致一些舍入错误,从而导致 .0.1 + 0.2 == 0.3
false
例如:
1.2
正好等于1.1999999999999999555910790149937383830547332763671875
溶液:
处理浮点值中这种不一致的一种解决方案是使用名为 Decimal 的本机 Python 模块
有关详细答案,请阅读以下文章:
评论
1赞
President James K. Polk
10/20/2022
浮点数是的,32 位......很少。几乎每个人都使用 64 位浮点数。
0赞
Andrew
11/6/2022
Python 使用 64 位浮点数;1.1999999999999999555910790149937383830547332763671875 是 64 位值
0赞
Andrew
11/6/2022
以二进制形式添加它,考虑四舍五入 - 这将解释它
评论