在python中如何比较两个float类型的数据是否相等

计算机里面的数字是由二进制保存的,在计算机内部有些数字不能准确的保存,于是就保存了一个最靠近的数字。

计算机表示浮点数(float或double类型)都有一个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分截断。

因此比较两个float是否相等,不能仅仅依靠==来判断,而是当他们的两者的差值小于一个我们可以容忍的小值时,就可以认为它们相等。
如:
     return abs(f1 - f2) <= allowed_error
python 3.5之后,PEP485提案中给出了解决方案。
     math.close(a,b,rel_tol=1e-5)
 

猜你喜欢

转载自blog.csdn.net/qq_35462323/article/details/90638603