Division ganzer Zahlen in Java
Bei der Division zweier ganzer Zahlen in Java ist das Ergebnis eine Gleitkommazahl. Dies liegt daran, dass der Divisionsoperator (/) eine ganzzahlige Division durchführt, die zu einem ganzzahligen Quotienten führt. Um ein Gleitkommaergebnis zu erhalten, müssen einer oder beide Operanden in einen Gleitkommatyp umgewandelt werden, z. B. float oder double.
Betrachten Sie das bereitgestellte Beispiel:
int totalOptCount = 500; int totalRespCount=1500; float percentage =(float)(totalOptCount/totalRespCount);
In diesem Fall sind sowohl totalOptCount als auch totalRespCount vom Typ int. Der Ausdruck totalOptCount/totalRespCount ergibt die Ganzzahl 0, die dann in eine Gleitkommazahl umgewandelt und dem Prozentsatz zugewiesen wird. Daher hat der Prozentsatz den Wert 0,0.
Um dies zu korrigieren, muss einer der Operanden vor der Divisionsoperation in einen Gleitkommatyp umgewandelt werden:
float percentage = ((float) totalOptCount) / totalRespCount;
Durch Umwandlung von totalOptCount in Wenn Sie einen Gleitkommawert angeben, gibt die Divisionsoperation ein Gleitkommaergebnis zurück und der Prozentsatz hat den korrekten Wert.
Formatieren des Ergebnis
Um das Ergebnis im gewünschten 00.00-Format zu formatieren und in einen String zu konvertieren, kann die Methode String.format verwendet werden:
String str = String.format("%2.02f", percentage);
Der Formatbezeichner %2.02f gibt an, dass die Zahl rechtsbündig in einem Feld der Breite 2 stehen und eine Genauigkeit von 2 Dezimalstellen haben sollte. Das Ergebnis wird der String-Variablen str.
zugewiesenDas obige ist der detaillierte Inhalt vonWie kann ich bei der Division von ganzen Zahlen in Java genaue Gleitkomma-Ergebnisse erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!