Wie formatiere ich einen doppelten Wert für ein bestimmtes Gebietsschema und die Anzahl der Dezimalstellen?

Wie kann ich verwendenNumberFormat a. formatierendouble Wert für eine gegebeneLocale (Standardgebietsschema ist ausreichend) und für eine bestimmte Anzahl von Dezimalstellen?

Zum Beispiel habe ich diese Werte:

<code>double d1 = 123456.78;
double d2 = 567890;
</code>

Und ich möchte sie folgendermaßen drucken, zum Beispiel mit US-Gebietsschema und 2 Dezimalstellen:

<code>123,456.78
567,890.00
</code>

In diesem Fall ist mir der Rundungsmodus eigentlich egal, da diese doppelten Werte aus a gewonnen werdenBigDecimal Bei der angegebenen Skala ist die Anzahl der Nachkommastellen immer kleiner oder gleich der Anzahl der Nachkommastellen, die ich drucken möchte.

Bearbeiten:

Um die Dinge ein bisschen klarer zu machen, möchte ich Geld in einer vom Gebietsschema abhängigen Weise anzeigen, jedoch mit einer festen Anzahl von Dezimalstellen. Das obige Beispiel zeigte, wie die Werte formatiert werden sollten, wenn das Gebietsschema des Systems isten_US. Nehmen wir an, das Gebietsschema des Systems istcs_CZ (Tschechisch), daher sollten die gleichen Zahlen folgendermaßen formatiert werden:

<code>123 456,78
567 890,00
</code>

Wie kann ich ein NumberFormat so einrichten, dass immer 2 Dezimalstellen angezeigt werden, aber Tausender-Trennzeichen und Dezimalstellen basierend auf dem aktuellen Gebietsschema?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage