📅  最后修改于: 2023-12-03 15:19:33.732000             🧑  作者: Mango
在Python中,isclose()
是一个数学函数,它用于判断两个浮点数是否“相近”,即它们是否非常接近相等。在对浮点数进行比较时,由于浮点数的存储方式和精度限制,可能会出现无法精确比较的情况,此时就可以使用isclose()
函数。
isclose()
函数的定义如下:
math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
其中,a
和b
是要比较的两个数,rel_tol
和abs_tol
是可选参数。rel_tol
是相对误差限定值(默认值为1e-09
),abs_tol
是绝对误差限定值(默认值为0.0
)。
isclose()
函数返回一个布尔值,表示两个数是否相近。如果|a-b| <= max(rel_tol * max(|a|, |b|), abs_tol)
,则返回True
;否则返回False
。
下面是isclose()
函数的使用示例:
import math
a = 1.23456789
b = 1.23456788
# 判断两个数是否相近,使用默认参数
print(math.isclose(a, b)) # 输出True
# 设置相对误差限定值为1e-08
print(math.isclose(a, b, rel_tol=1e-08)) # 输出False
# 设置绝对误差限定值为1e-08
print(math.isclose(a, b, abs_tol=1e-08)) # 输出True
在上面的示例中,a
和b
都是浮点数,它们的差值非常小,因此用isclose()
函数比较它们的相似度时返回了True
。如果我们改变相对误差限定值或绝对误差限定值,则函数的返回值可能会发生改变。