Heim >Java >javaLernprogramm >Warum gibt die Ganzzahldivision in Java 0,0 zurück und wie kann ich ein Gleitkommaergebnis erhalten?

Warum gibt die Ganzzahldivision in Java 0,0 zurück und wie kann ich ein Gleitkommaergebnis erhalten?

Linda Hamilton
Linda HamiltonOriginal
2024-12-08 21:07:10594Durchsuche

Why Does Integer Division in Java Return 0.0 and How Can I Get a Floating-Point Result?

Division von ganzen Zahlen in Java: Warum sie 0,0 zurückgibt

Beim Durchführen einer Division zwischen zwei ganzen Zahlen in Java, wie im bereitgestellten Beispiel wo totalOptCount und totalRespCount sind beide Ganzzahlen, das Ergebnis wird automatisch auf eine Ganzzahl reduziert. Dies bedeutet, dass jeder Bruchteil der Division verworfen wird. Infolgedessen ist die Prozentvariable, die als Float deklariert, aber mit dem Ergebnis der Division initialisiert wird, immer 0,0.

So erhalten Sie ein Gleitkomma-Ergebnis

Um ein Gleitkomma-Ergebnis zu erhalten, muss mindestens einer der Operanden in der Division in einen Gleitkomma-Typ umgewandelt werden. In Ihrem Fall können Sie totalOptCount wie folgt in einen Gleitkommawert umwandeln:

float percentage = ((float) totalOptCount) / totalRespCount;

Dadurch wird sichergestellt, dass die Division in Gleitkommaarithmetik durchgeführt wird und der Bruchteil im Ergebnis erhalten bleibt.

Prozentsatz formatieren

Um die Prozentvariable in das Format „00,00“ zu formatieren und zu konvertieren Um es in einen String umzuwandeln, können Sie die Methode String.format verwenden:

String str = String.format("%2.02f", percentage);

Der Platzhalter %2.02f gibt an, dass der Gleitkommawert mit einer Feldbreite von 2 Zeichen und einer Genauigkeit von 2 formatiert werden soll Dezimalstellen. Dies führt zu einer Zeichenfolge mit dem Prozentsatz im Format „00,00“.

Das obige ist der detaillierte Inhalt vonWarum gibt die Ganzzahldivision in Java 0,0 zurück und wie kann ich ein Gleitkommaergebnis erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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