Gleitkomma-Vergleich mit nahezu Gleichheit in Python
Der Vergleich von Gleitkommazahlen auf Gleichheit in Python kann aufgrund von Präzisionsproblemen eine Herausforderung darstellen und Rundungsfehler. Um dieses Problem anzugehen, ist es wichtig, Techniken einzusetzen, die einen aussagekräftigen Vergleich ermöglichen.
Ein Ansatz besteht darin, die in Python 3.5 eingeführte Standardbibliotheksfunktion zu verwenden:
import math math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
Das rel_tol Der Parameter gibt eine relative Toleranz an, bei der es sich um einen Multiplikator handelt, der auf die größere der beiden verglichenen Zahlen angewendet wird. abs_tol stellt eine absolute Toleranz dar, die direkt auf die Differenz zwischen den Zahlen angewendet wird.
Wenn die Differenz zwischen a und b kleiner ist als einer der beiden Bei relativer oder absoluter Toleranz gelten die beiden Zahlen als nahezu gleich und die Funktion gibt True zurück. Andernfalls wird False zurückgegeben.
Für Python-Versionen vor 3.5 kann eine entsprechende Funktion wie folgt definiert werden:
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)
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Gleitkommazahlen auf nahezu Gleichheit in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!