Python でのほぼ同等の浮動小数点比較
Python で浮動小数点数の同等性を比較すると、精度の問題により問題が発生する可能性がありますそして丸め誤差。これに対処するには、意味のある比較を可能にする手法を採用することが不可欠です。
1 つのアプローチは、Python 3.5 で導入された標準ライブラリ関数を使用することです。
import math math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
rel_tol パラメーターは、比較される 2 つの数値のうち大きい方に適用される乗数である相対許容誤差を指定します。 abs_tol は、数値の差に直接適用される絶対許容誤差を表します。
a と b の差がどちらの値よりも小さい場合、相対許容誤差または絶対許容誤差の場合、2 つの数値はほぼ等しいとみなされ、関数は 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 中国語 Web サイトの他の関連記事を参照してください。