Heim > Java > javaLernprogramm > Wie kann ich bei der Division von ganzen Zahlen in Java genaue Gleitkomma-Ergebnisse erhalten?

Wie kann ich bei der Division von ganzen Zahlen in Java genaue Gleitkomma-Ergebnisse erhalten?

Mary-Kate Olsen
Freigeben: 2024-12-06 00:50:14
Original
559 Leute haben es durchsucht

How Can I Get Accurate Floating-Point Results When Dividing Integers in Java?

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);
Nach dem Login kopieren

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;
Nach dem Login kopieren

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);
Nach dem Login kopieren

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.

zugewiesen

Das 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!

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