Wie der Titel schon sage spiele bzw. evaluiere ich gerade java.util.Currency, vom Prinzip her passt diese genau in mein Konzept um Währungen zu handhaben. Allerdings finde ich die default Locale Abhängigkeit von dem zurückgegeben Währungssymbol doch etwas dürftig.
Ob und welches Symbol zurückgegeben wird hängt vom Default Local ab, soweit so gut.
Leider habe ich feststellen müssen das die meisten Locale so gut wie keine Symbol zurück liefern, sondern auf ISO 4217 Currency Code zurückfallen.
Bei de_de liefert ausschliesslich das Symbol € für Euro Länder soweit richtig. Nur hätte ich doch recht gerne das wenn ich explizit nach einen Währungsymbol frage auch diese bekommen.
Sicherlich ist dies kein Bug und hat auch seinen Sinn da einige Währungssymbol nicht eindeutig sind.
Habt Ihr eine Idee wie ich Currency außer durch Default Locale murxerei dazu bewegen könnte mir unabhängig vom Default Locale das gewünschte Symbol zu liefern?
Update:
Dies scheint mir die nächst beste Lösung, falls jemand eine besser Idee hat oder sonstige Einblicke bitte melden, da mir auch dieser Ansatz nicht für alle Währungen die gewünschten Symbole liefert (zbs. Symbol Yen fehlt).
Ob und welches Symbol zurückgegeben wird hängt vom Default Local ab, soweit so gut.
Java:
public static void main(String args[]) {
Locale.setDefault(new Locale(args[0],args[1]));
String[]countries = Locale.getISOCountries();
for(String country : countries) {
Currency currency = Currency.getInstance(new Locale(country,country));
if(currency!=null)
System.out.println(country + " " +currency.getCurrencyCode() + " " + currency.getSymbol());
}
}
Leider habe ich feststellen müssen das die meisten Locale so gut wie keine Symbol zurück liefern, sondern auf ISO 4217 Currency Code zurückfallen.
Bei de_de liefert ausschliesslich das Symbol € für Euro Länder soweit richtig. Nur hätte ich doch recht gerne das wenn ich explizit nach einen Währungsymbol frage auch diese bekommen.
Sicherlich ist dies kein Bug und hat auch seinen Sinn da einige Währungssymbol nicht eindeutig sind.
Habt Ihr eine Idee wie ich Currency außer durch Default Locale murxerei dazu bewegen könnte mir unabhängig vom Default Locale das gewünschte Symbol zu liefern?
Update:
Java:
currency.getSymbol(new Locale(country,country)
Dies scheint mir die nächst beste Lösung, falls jemand eine besser Idee hat oder sonstige Einblicke bitte melden, da mir auch dieser Ansatz nicht für alle Währungen die gewünschten Symbole liefert (zbs. Symbol Yen fehlt).
Zuletzt bearbeitet: