Python-Methode zum Vergleichen, ob zwei Gleitkommazahlen gleich sind

爱喝马黛茶的安东尼
Freigeben: 2019-06-17 16:43:11
Original
12076 Leute haben es durchsucht

Wie vergleicht Python, ob zwei Gleitkommazahlen gleich sind?

Verwandte Empfehlungen: „Python-Video

Python-Methode zum Vergleichen, ob zwei Gleitkommazahlen gleich sind

float Der Typ kann nicht gleich oder ungleich sein, aber Sie können >, <, >=, <=

vergleichen. Die Verwendung von == ist grammatikalisch korrekt, aber zwei Gleitkommazahlen, die gleich sein sollten, sind darauf zurückzuführen Die angegebenen Gründe können geringfügige Fehler aufweisen. In diesem Fall wird == verwendet, um anzunehmen, dass sie nicht gleich sind. Sie sollten den absoluten Wert der Differenz zwischen zwei Gleitkommazahlen verwenden, der kleiner als ein akzeptabler Wert ist, um zu bestimmen, ob sie gleich sind. Verwenden Sie beispielsweise

if (fabs(price - p) < 0.000001)
Nach dem Login kopieren

anstelle von

 if (price == p)
Nach dem Login kopieren

Viele technische Anwendungen verwenden die Methode zur Berechnung der Genauigkeit

Definieren Sie eine Genauigkeit und vergleichen Sie sie mit dem Absolutwert der Differenz. Sie gilt als gleich innerhalb des Genauigkeitsbereichs;

Gleitkommavariablen können nicht mit Zahlen verglichen werden, die „==" oder „!=" verwenden.
Beachten Sie unbedingt, dass Variablen vom Typ Float oder Double Genauigkeitsgrenzen haben. Vermeiden Sie daher
den Vergleich von Gleitkommavariablen mit Zahlen mithilfe von „==" oder „!=" und versuchen Sie, sie in die Formen „>=" oder „<=" umzuwandeln.
Angenommen, der Name der Gleitkommavariablen ist Fehler (d. h. Genauigkeit).


Die Computerdarstellung von Gleitkommazahlen (Float- oder Double-Typ) hat eine Genauigkeitsgrenze. Bei Gleitkommazahlen, die die Genauigkeitsgrenze überschreiten, schneidet der Computer den Dezimalteil über ihre Genauigkeit hinaus ab. Daher können zwei ursprünglich ungleiche Gleitkommazahlen im Computer gleich werden. Zum Beispiel:

if ((x>=-EPSINON) && (x<=EPSINON))
Nach dem Login kopieren

Mathematisch gesehen sind a und b nicht gleich, aber in einem 32-Bit-Computer sind sie gleich.

Wenn der Absolutwert der Differenz zwischen zwei Gleitkommazahlen mit demselben Vorzeichen kleiner oder gleich einem bestimmten akzeptablen Fehler (dh Genauigkeit) ist, gelten sie als gleich.

Verwenden Sie nicht direkt „==" oder „!=", um zwei Gleitkommazahlen zu vergleichen, sondern Sie können direkt „<“ und „>“ verwenden, um zu vergleichen, welche davon größer ist.

float a=10.222222225,b=10.222222229
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPython-Methode zum Vergleichen, ob zwei Gleitkommazahlen gleich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!