Heim > Java > javaLernprogramm > Hauptteil

Warum führt die Ganzzahldivision in Java zu unerwarteten Ergebnissen?

Patricia Arquette
Freigeben: 2024-11-17 07:17:03
Original
242 Leute haben es durchsucht

Why Does Integer Division in Java Lead to Unexpected Results?

Probleme mit Ganzzahldivisionen: Fehler in den arithmetischen Operationen von Java verstehen

In Java können Divisionen mit Ganzzahlwerten zu unerwarteten Fehlern führen, wenn das gewünschte Ergebnis erzielt wird handelt es sich um Dezimalzahlen. Um dieses Problem zu verstehen, ist es wichtig, das Konzept der Ganzzahldivision zu verstehen.

Die Ganzzahldivision unterscheidet sich von der Gleitkommadivision dadurch, dass sie den Bruchteil des Ergebnisses verwirft. Dieses Verhalten kann zu Ungenauigkeiten bei der Division zweier Ganzzahlen führen, wie im folgenden Beispiel:

float res = quantity / standard;
Nach dem Login kopieren

Die Division zwischen Menge und Standard führt zu einem ganzzahligen Ergebnis, wobei alle Dezimalwerte verworfen werden. Selbst bei scheinbar einfachen Berechnungen wie 6800 / 500 erhalten Sie am Ende 13,0 statt der erwarteten 13,6.

Um dies zu beheben, können Sie mit der folgenden Syntax erzwingen, dass der Zähler als Gleitkommazahl behandelt wird :

float res = (float) quantity / standard;
Nach dem Login kopieren

Dies zwingt dazu, dass der Nenner ebenfalls als Gleitkommazahl umgewandelt wird, wodurch effektiv ein Gleitkommawert entsteht Abteilung. Alternativ können Sie den Buchstaben „f“ an den Nenner anhängen:

float f = 6800f / 500;
Nach dem Login kopieren

Auf diese Weise deklarieren Sie den Nenner explizit als Gleitkommazahl und stellen so korrekte Divisionsergebnisse sicher.

Das obige ist der detaillierte Inhalt vonWarum führt die Ganzzahldivision in Java zu unerwarteten Ergebnissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage