it-swarm.com.de

java decimal String format

Ich muss einen Dezimalwert in eine Zeichenfolge formatieren, in der ich immer mindestens 2 und höchstens 4 Dezimalstellen anzeige.

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?.

63
richs

Sie möchten Java.text.DecimalFormat.

DecimalFormat df = new DecimalFormat("0.00##");
String result = df.format(34.4959);
77

Ja, das kannst du mit String.format:

String result = String.format("%.2f", 10.0 / 3.0);
// result:  "3.33"

result = String.format("%.3f", 2.5);
// result:  "2.500"
139
mostar

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));
38
Yuval Adam

Java.text.NumberFormat ist wahrscheinlich das, was Sie wollen.

3
cagcowboy

Sie möchten Java.text.DecimalFormat

1
duffymo

NumberFormat und DecimalFormat sind definitiv das, was Sie wollen. Beachten Sie auch die NumberFormat.setRoundingMode() -Methode. Sie können damit steuern, wie Rundungen oder Kürzungen während der Formatierung angewendet werden.

1
Brian Clapper