这个值并不是准确的1.1,而是一个近似的值,因而在运算时就会造成运算结果不够精确。 Python中的浮点数就是以64位长浮点数的形式存储在内存空间中的,在使用浮点数表示精确值的时候需要注意浮点数的精度。
所以,如果两个浮点数的差,小于这个精度,就可以认为两个数相等。 def eq(a: float, b: float) -> bool: return abs(a - b) < sys.float_info.epsilon 这也是大部分语言判断浮点数相等的手法。 有时,我们也会容忍epsilon大一点。 math.isclose ¶ 在Python 3.5以后,通常使用math.isclose来判断两个浮点数...