今天在论坛上看到了一个人问了一个问题,先来看一段代码:
print(0.1 + 0.2 == 0.3)
"""
result:
False
"""
为什么会这样呢?因为计算机中0.1
虽然打印显示出来的是0.1
,但是实际上它可能是0.100000000001
,也就是说在0.1
的后面也会存在特别小的有效数字。所以直接两个小数做和的时候不相等,因为后面存在的特别小的有效数字是随机的。那是不是小数就不能比较了呢?答案是否定的。
那么如何实现小数求和的比较呢?请看代码
print(round(0.1 + 0.2, 1) == round(0.3, 1))
"""
result:
True
"""
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~