Floatzahlen mit Dezimalgenauigkeit formatieren
Das Formatieren von Gleitkommazahlen auf eine bestimmte Anzahl von Dezimalstellen ist eine häufige Aufgabe in verschiedenen Programmierszenarien. Um dies zu erreichen, ist ein weit verbreiteter Ansatz die Verwendung der BigDecimal-Klasse in Java. Wenn der erwartete Rückgabetyp jedoch ein Float ist, kann die Verwendung von BigDecimal zu falschen Ergebnissen führen.
Im angegebenen Codebeispiel:
<code class="java">public static float Redondear(float pNumero, int pCantidadDecimales) { // the function is call with the values Redondear(625.3f, 2) BigDecimal value = new BigDecimal(pNumero); value = value.setScale(pCantidadDecimales, RoundingMode.HALF_EVEN); // here the value is correct (625.30) return value.floatValue(); // but here the values is 625.3 }</code>
Das Problem tritt beim Zurückkonvertieren des BigDecimal-Werts in a auf schweben. Zu diesem Zweck empfiehlt es sich, die Methode String.format wie folgt zu verwenden:
String.format("%.2f", floatValue);
Durch Angabe der gewünschten Anzahl an Dezimalstellen innerhalb des Formatbezeichners (%.2f) erhalten Sie einen formatierten String Darstellung des Float-Werts mit der angegebenen Genauigkeit. Beachten Sie, dass der Rückgabetyp in diesem Fall ein String ist.
Das obige ist der detaillierte Inhalt vonWie formatiere ich Gleitkommazahlen mit Dezimalgenauigkeit in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!