Heim Backend-Entwicklung Python-Tutorial Python-Methode zum Vergleichen, ob zwei Gleitkommazahlen gleich sind

Python-Methode zum Vergleichen, ob zwei Gleitkommazahlen gleich sind

Jun 15, 2019 pm 04:15 PM
python 比较 浮点数

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) &lt; 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&gt;=-EPSINON) &amp;&amp; (x&lt;=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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Vor- und Nachteile des Templatings? Was sind die Vor- und Nachteile des Templatings? May 08, 2024 pm 03:51 PM

Was sind die Vor- und Nachteile des Templatings?

So laden Sie Deepseek Xiaomi herunter So laden Sie Deepseek Xiaomi herunter Feb 19, 2025 pm 05:27 PM

So laden Sie Deepseek Xiaomi herunter

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Jul 01, 2024 am 07:22 AM

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern May 06, 2024 pm 03:52 PM

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

Wie fragst du ihn Deepseek? Wie fragst du ihn Deepseek? Feb 19, 2025 pm 04:42 PM

Wie fragst du ihn Deepseek?

So speichern Sie die Evaluierungsfunktion So speichern Sie die Evaluierungsfunktion May 07, 2024 am 01:09 AM

So speichern Sie die Evaluierungsfunktion

Welche Software ist NET40? Welche Software ist NET40? May 10, 2024 am 01:12 AM

Welche Software ist NET40?

See all articles