Python - AI 助手

Python cmath.isclose() 函式



Python 的 cmath.isclose() 函式用於檢查兩個浮點數是否在指定的容差範圍內彼此接近。如果給定值接近,則此函式返回 True,否則返回 False。

從數學角度來看,當兩個數字彼此接近時,這些值表示為:

|a - b| ≤ max(rel_tol × max(|a|, |b|), abs_tol)
  • 如果兩個數字之間的絕對差小於或等於相對容差,則此函式返回“True”;否則返回“False”。
  • 如果 a 和 b 的值都是 NaN,則結果始終為 False。

語法

以下是 Python cmath.isclose() 函式的基本語法:

cmath.isclose(a, b, *, rel_tol=1e-9, abs_tol=0.0)

引數

  • a − 表示第一個數字的數值。
  • b − 表示第二個數字的數值。
  • rel_tol − 相對容差,以浮點數表示。相對容差的預設值為 1e-9。
  • abs_tol − 絕對容差,以浮點數表示。絕對容差的預設值為 0.0。

返回值

此方法返回布林值,即 True 或 False。

示例 1

在下面的示例中,我們將使用 cmath.isclose() 函式檢查 0.2 和 0.3 的和是否等於 0.5。如果值相等,則將返回 True。

import cmath
x = cmath.isclose(0.2+0.3,  0.5)
print(x)

輸出

得到的輸出如下:

True

示例 2

在這裡,我們使用cmath.isclose()函式和絕對容差“0.02”,檢查數字“2000”和“2002”是否相等,相對容差為“0.002”。

import cmath
res = cmath.isclose(2000, 2002, rel_tol=0.002, abs_tol=0.02)
print(res)

輸出

以下是上述程式碼的輸出:

True

示例 3

在下面的示例中,我們使用cmath.isclose()函式比較大數,即“1e10”和“1e10+1”,相對容差為“0.001”。

import cmath 
x = cmath.isclose(1e10, 1e10+1, rel_tol=0.001)
print(x)

輸出

結果如下:

True
python_modules.htm
廣告