5 Stimmen

Wie formatiere ich eine Währung für eine Lokalisierung in Java

Ich bin überrascht, dass ich echte Schwierigkeiten habe herauszufinden, wie das geht. Mir scheint es sollte ziemlich einfach sein. Vielleicht suche ich am falschen Ort.

Angenommen, ich habe den folgenden Code:

double amount = 123.45D; // ja, ich weiß, dass ich longs verwenden sollte
Locale uk = Locale.UK;
Locale fr = Locale.FR;
Currency euro = Currency.getInstance("EUR");

Wie bekomme ich Instanzen von NumberFormat, die mir ermöglichen, den Wert 123,45 korrekt formatiert für die Locale auszugeben? Also möchte ich folgendes für das Vereinigte Königreich und Frankreich haben:

€123.45
123,45 €

Ich kann NumberFormat.getCurrencyInstance(Locale) nicht verwenden, da dies das UK-Format als Pfund (£) formatiert. Was ich suche, ist NumberFormat.getCurrencyInstance(Locale, Currency), aber das scheint nicht zu existieren.

Irgendwelche Ideen?

4voto

Joachim Sauer Punkte 290477

Verwenden Sie NumberFormat.setCurrency(), um die Währung zu ändern, die für ein bestimmtes NumberFormat verwendet wird, das über NumberFormat.getCurrencyInstance(Locale) abgerufen wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X