浮点数的写法只是个表像,真实的数据,比如0.1是下面的结果
from decimal import Decimal
print(Decimal(0.1))
-->0.1000000000000000055511151231257827021181583404541015625
所以浮点数的计算基本上是不能用等于来判断两个数的相等
试一下就知道了
0.1+0.2
0.30000000000000004
原因是计算机使用二进制,无法完美表示十进制的小数,所以有一个精度问题。