Was ist der beste Weg, um die folgende Nummer zu formatieren, die mir als String gegeben wird?
String number = "1000500000.574" //assume my value will always be a String
Ich möchte, dass dies ein String mit dem Wert ist: 1,000,500,000.57
Wie kann ich es als solches formatieren?
Dies kann auch mit String.format () erreicht werden. Dies ist möglicherweise einfacher und / oder flexibler, wenn Sie mehrere Zahlen in einer Zeichenfolge formatieren.
Für die Formatzeichenfolge "%, 2f" - "bedeutet" separate Zifferngruppen mit Kommas, und ".2" bedeutet auf zwei Stellen nach der Dezimalstelle runden.
Weitere Informationen zu anderen Formatierungsoptionen finden Sie unter https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
quelle
Sobald Sie Ihren String in eine Zahl umgewandelt haben, können Sie ihn verwenden
oder
quelle
new DecimalFormat("0.##", DecimalFormatSymbols.getInstance(locale))
Da dies das erste Google-Ergebnis ist
format number commas java
, finden Sie hier eine Antwort, die für Personen funktioniert, die mit ganzen Zahlen arbeiten und sich nicht für Dezimalstellen interessieren.Ausgänge:
quelle
Ich habe mein eigenes Formatierungsprogramm erstellt. Das ist extrem schnell bei der Verarbeitung der Formatierung und bietet Ihnen viele Funktionen :)
Es unterstützt:
Den Code finden Sie hier . Sie nennen es so:
Ich sollte auch darauf hinweisen, dass dies keine Dezimalunterstützung behandelt, aber für ganzzahlige Werte sehr nützlich ist. Das obige Beispiel würde "1,23 M" als Ausgabe zeigen. Ich könnte wahrscheinlich Dezimalunterstützung hinzufügen, habe aber seitdem nicht allzu viel Verwendung dafür gesehen. Ich könnte dies genauso gut zu einer Klasse vom Typ BigInteger zusammenführen, die komprimierte char [] -Arrays für mathematische Berechnungen verarbeitet.
quelle
K
oderM
wasquelle
Sie können auch die folgende Lösung verwenden -
quelle
Sie können die gesamte Konvertierung in einer Zeile mit dem folgenden Code durchführen:
Die letzten beiden # -Zeichen im DecimalFormat-Konstruktor können auch Nullen sein. So oder so funktioniert.
quelle
Die erste Antwort funktioniert sehr gut, aber für ZERO / 0 wird sie als .00 formatiert
Daher funktioniert das Format #, ## 0.00 gut für mich. Testen Sie immer verschiedene Zahlen wie 0/100 / 2334.30 und negative Zahlen, bevor Sie sie auf dem Produktionssystem bereitstellen.
quelle
Hier ist der einfachste Weg dorthin:
Ausgabe: 10.987.655,88
quelle