Heim >Java >javaLernprogramm >Wie formatiere ich Gleitkommazahlen mit Dezimalgenauigkeit in Java?

Wie formatiere ich Gleitkommazahlen mit Dezimalgenauigkeit in Java?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 22:24:03975Durchsuche

How to Format Floats with Decimal Precision in Java?

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!

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