首页 > 后端开发 > Python教程 > 如何在 Python 中比较浮点数是否接近相等?

如何在 Python 中比较浮点数是否接近相等?

Linda Hamilton
发布: 2024-12-19 06:55:09
原创
745 人浏览过

How to Compare Floating-Point Numbers for Near-Equality in Python?

Python 中几乎相等的浮点比较

由于精度问题,在 Python 中比较浮点数是否相等可能会带来挑战和舍入误差。为了解决这个问题,必须采用能够进行有意义比较的技术。

一种方法是使用 Python 3.5 中引入的标准库函数:

import math
math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
登录后复制

rel_tol 参数指定相对容差,它是应用于所比较的两个数字中较大者的乘数。 abs_tol 表示直接应用于数字之间差异的绝对容差。

如果 ab 之间的差值小于相对或绝对容差,两个数字被认为几乎相等,并且函数返回 True。否则,它返回 False

对于 3.5 之前的 Python 版本,可以按如下方式定义等效函数:

def isclose(a, b, rel_tol=1e-09, abs_tol=0.0):
    return abs(a - b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
登录后复制

以上是如何在 Python 中比较浮点数是否接近相等?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板