浮点数运算包含了由于四舍五入引起的运算误差,基于这一点,应该避免在浮点数之间之间进行相等的比较。如果一定需要比较,则可以使用两个浮点数之差的绝对值是否足够小作为判断两个浮点数是否相等的条件。
>>> 0.5-0.4==0.1
False
>>> abs(0.5-0.4-0.1)<1e-6
True
浮点数运算包含了由于四舍五入引起的运算误差,基于这一点,应该避免在浮点数之间之间进行相等的比较。如果一定需要比较,则可以使用两个浮点数之差的绝对值是否足够小作为判断两个浮点数是否相等的条件。
>>> 0.5-0.4==0.1
False
>>> abs(0.5-0.4-0.1)<1e-6
True