Python 中幾乎相等的浮點比較
由於精度問題,在Python 中比較浮點數是否相等可能會帶來挑戰和相等可能會帶來挑戰和相等舍入誤差。為了解決這個問題,必須採用能夠進行有意義比較的技術。
一種方法是使用Python 3.5 中引入的標準函式庫函數:
import math math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
rel_tol 參數指定相對容差,它是應用於所比較的兩個數字中較大者的乘數。 abs_tol 表示直接應用於數字之間差異的絕對容差。
如果a 和b 之間的差值小於相對或絕對容差,兩個數字被認為幾乎相等,並且函數返回True。否則,它會回傳 False。
對於 3.5 之前的 Python 版本,可以如下定義等效函數:
def isclose(a, b, rel_tol=1e-09, abs_tol=0.0): return abs(a - b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
以上是如何在 Python 中比較浮點數是否接近相等?的詳細內容。更多資訊請關注PHP中文網其他相關文章!