Python math.isclose() メソッド

Python math 模块Python math モジュール

Python math.isclose()このメソッドは、2つの値が互いに近いかどうかをチェックします。値が近い場合は True を、そうでない場合は False を返します。

math.isclose()指定された絶対許容差と相対許容差に基づいて、2つの値が近いと見なされるかどうかを決定します。

Python バージョン:3.5

計算式は次のとおりです:

abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

構文

math.isclose() メソッドの構文は次のとおりです:

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

パラメータの説明:

  • a-- 必須、数値。x が数値でない場合、TypeError を返します。値が 0 または負の場合は、ValueError を返します。
  • b-- 必須、数値。x が数値でない場合、TypeError を返します。値が 0 または負の場合は、ValueError を返します。
  • rel_tol-- は相対許容差です。これは、a または b の絶対値の大きい方に対する、a と b の間で許容される最大の差です。例えば、5% の許容差を設定するには、rel_tol=0.05 を渡します。デフォルトの許容差は 1e-09 で、2つの値が約9桁の十進数以内で同じであることを保証します。rel_tol はゼロより大きくなければなりません。
  • abs_tol-- は最小絶対許容差で、ゼロに近い値を比較する場合に役立ちます。abs_tol は少なくともゼロでなければなりません。

戻り値

ブール値を返します。2つの値が互いに近いかどうかをチェックし、値が近い場合は True を、そうでない場合は False を返します。

例

次の例では、2つの値が互いに近いかどうかをチェックします:

例

# math パッケージをインポート
import math

# 2つの値が近いかどうかを出力
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))

出力結果:

False
True

次の例では、2つの浮動小数点数が近いかどうかをチェックします:

例

# math パッケージをインポート
import math

# 浮動小数点数の判定に使用できます

# これで false が出力されます。0.1+0.2 は 0.3 と等しくなりません
print(0.1+0.2 == 0.3)
print(0.1+0.2 )

# これで true が出力されます
print(math.isclose(0.1+0.2, 0.3))

出力結果:

False
0.30000000000000004
True

Python math 模块Python math モジュール

その他の拡張