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

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

Susan Sarandon
Freigeben: 2024-11-16 06:17:03
Original
592 Leute haben es durchsucht

Why Does Integer Division in Java Produce Unexpected Results?

Ganzzahldivision: Das unerwartete Verhalten verstehen

In Java führt die Ganzzahldivision eine Division zwischen zwei Ganzzahlwerten durch und verwirft den Bruchteil des Ergebnisses . Dieses Verhalten kann zu unerwarteten Ergebnissen führen, wie im folgenden Code gezeigt:

int quantity = 6800;
int standard = 500;
float res = quantity / standard;
Nach dem Login kopieren

Erwartetes Ergebnis: 13,6

Tatsächliches Ergebnis: 13,0

Eine Erklärung für diese Diskrepanz liegt darin in der durchgeführten Ganzzahldivision. Bei der Ganzzahldivision wird das Ergebnis abgeschnitten, wodurch der Bruchteil verloren geht. Um das richtige Ergebnis zu erhalten, müssen wir erzwingen, dass die Division als Gleitkommadivision behandelt wird.

Dies kann erreicht werden, indem der Zähler explizit in Gleitkomma umgewandelt wird:

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

Alternativ Wenn wir es mit Literalen zu tun haben, können wir das Suffix „f“ an den Nenner anhängen, um eine Gleitkommazahl anzuzeigen:

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

Durch die Verwendung Durch die Float-Division verhindern wir eine ganzzahlige Division und bewahren den Bruchteil des Ergebnisses. Dieser Ansatz wird durchweg das erwartete Ergebnis liefern: 13.6.

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