Python3 math.isclose()方法 - 判斷兩個(gè)值是否接近

2023-04-26 14:02 更新

Python math 模塊  math 模塊


描述

math.isclose() 方法返回用于檢查兩個(gè)值是否彼此接近,如果值接近,則返回 True,否則返回 False。

math.isclose() 根據(jù)給定的絕對(duì)和相對(duì)容差確定兩個(gè)值是否被認(rèn)為是接近的。

計(jì)算公式為:

abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
本方法要求python版本至少為:Python 3.5

語法

math.isclose() 方法語法如下:

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

參數(shù)說明:

  • a -- 必需,數(shù)字。如果 x 不是一個(gè)數(shù)字,返回 TypeError。如果值為 0 或負(fù)數(shù),則返回 ValueError。
  • b -- 必需,數(shù)字。如果 x 不是一個(gè)數(shù)字,返回 TypeError。如果值為 0 或負(fù)數(shù),則返回 ValueError。
  • rel_tol -- 是相對(duì)容差,它是 a 和 b 之間允許的最大差值,相對(duì)于 a 或 b 的較大絕對(duì)值。例如,要設(shè)置5%的容差,請(qǐng)傳遞 rel_tol=0.05 。默認(rèn)容差為 1e-09,確保兩個(gè)值在大約9位十進(jìn)制數(shù)字內(nèi)相同。 rel_tol 必須大于零。
  • abs_tol -- 是最小絕對(duì)容差,對(duì)于接近零的比較很有用。 abs_tol 必須至少為零。

返回值

返回一個(gè)布爾值,檢查兩個(gè)值是否彼此接近,如果值接近,則返回 True,否則返回 False。


實(shí)例

以下實(shí)例檢查兩個(gè)值是否彼此接近:

# 導(dǎo)入 math 包
import math

# 輸出兩個(gè)值是否接近
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))

輸出結(jié)果:

False
True

以下實(shí)例檢查兩個(gè)浮點(diǎn)數(shù)是否接近:

# 導(dǎo)入 math 包
import math

# 可用于浮點(diǎn)數(shù)判斷

# 這樣會(huì)輸出 false,0.1+0.2 不會(huì)等于 0.3
print(0.1+0.2 == 0.3)
print(0.1+0.2 )

# 這樣會(huì)輸出 true
print(math.isclose(0.1+0.2, 0.3))

輸出結(jié)果:

False
0.30000000000000004
True

Python math 模塊  math 模塊


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)