Ich muss einen Dezimalwert in eine Zeichenfolge formatieren, in der immer mindestens 2 Dezimalstellen und höchstens 4 angezeigt werden.
So zum Beispiel
"34.49596" would be "34.4959"
"49.3" would be "49.30"
Kann dies mit dem Befehl String.format erfolgen?
Oder gibt es eine einfachere / bessere Möglichkeit, dies in Java zu tun?
java
formatting
decimal
Reichtum
quelle
quelle
Ja, Sie können es tun mit
String.format
:String result = String.format("%.2f", 10.0 / 3.0); // result: "3.33" result = String.format("%.3f", 2.5); // result: "2.500"
quelle
Hier ist ein kleines Code-Snippet, das die Arbeit erledigt:
double a = 34.51234; NumberFormat df = DecimalFormat.getInstance(); df.setMinimumFractionDigits(2); df.setMaximumFractionDigits(4); df.setRoundingMode(RoundingMode.DOWN); System.out.println(df.format(a));
quelle
java.text.NumberFormat ist wahrscheinlich das, was Sie wollen.
quelle
Sie möchten java.text.DecimalFormat
quelle
NumberFormat und DecimalFormat sind definitiv das, was Sie wollen. Beachten Sie auch die
NumberFormat.setRoundingMode()
Methode. Sie können damit steuern, wie beim Formatieren Rundungen oder Kürzungen angewendet werden.quelle