print函数输出判断true false

img


上面的输出false是为什么呀?难道是0.1和0.2不能想加吗?不懂这个知识点 求解

浮点数的写法只是个表像,真实的数据,比如0.1是下面的结果
from decimal import Decimal
print(Decimal(0.1))
-->0.1000000000000000055511151231257827021181583404541015625
所以浮点数的计算基本上是不能用等于来判断两个数的相等

试一下就知道了

0.1+0.2
                      
0.30000000000000004

原因是计算机使用二进制,无法完美表示十进制的小数,所以有一个精度问题。