codecamp

Python3 math.isclose()方法 - 判断两个值是否接近

Python math 模块  math 模块


描述

math.isclose() 方法返回用于检查两个值是否彼此接近,如果值接近,则返回 True,否则返回 False。

math.isclose() 根据给定的绝对和相对容差确定两个值是否被认为是接近的。

计算公式为:

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)

参数说明:

  • a -- 必需,数字。如果 x 不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。
  • b -- 必需,数字。如果 x 不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。
  • rel_tol -- 是相对容差,它是 a 和 b 之间允许的最大差值,相对于 a 或 b 的较大绝对值。例如,要设置5%的容差,请传递 rel_tol=0.05 。默认容差为 1e-09,确保两个值在大约9位十进制数字内相同。 rel_tol 必须大于零。
  • abs_tol -- 是最小绝对容差,对于接近零的比较很有用。 abs_tol 必须至少为零。

返回值

返回一个布尔值,检查两个值是否彼此接近,如果值接近,则返回 True,否则返回 False。


实例

以下实例检查两个值是否彼此接近:

# 导入 math 包
import math

# 输出两个值是否接近
print(math.isclose(8.005, 8.450, abs_tol = 0.4))
print(math.isclose(8.005, 8.450, abs_tol = 0.5))

输出结果:

False
True

以下实例检查两个浮点数是否接近:

# 导入 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 模块  math 模块


Python3 math.hypot() 方法 - 求欧几里得范数
Python3 math.isfinite() 方法 - 判断一个数是否有限
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

相关教程

Python基础教程

python内置库

python3 math模块

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }