首頁 > 後端開發 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板