Wenn Sie den ISO-Ländercode "US", "FR", wie Sie die Gebietsschema-code (`Locale.UNS`, `Locale.FRANKREICHS")?
Wenn Sie das Land code US
, FR
(ISO-3166-1 alpha-2-Ländercode), wie tun, bekommen Sie die Gebietsschema-code ( Locale.US
, Locale.FRANCE
), so etwas zu tun:
System.out.println(DecimalFormat.getCurrencyInstance(Locale.US).format(12.34));
System.out.println(DecimalFormat.getCurrencyInstance(Locale.FRANCE).format(12.34));
$12.34
12,34 €
InformationsquelleAutor Pascal | 2011-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht, da ein Locale wird verwendet, um zu halten, eine Sprache, kein Land. Es kann halt eine Sprache für ein bestimmtes Land und für eine bestimmte Variante in diesem Land, aber es ist einen Sprache erste. Und es gibt keine eins-zu-eins-Beziehung zwischen einer Sprache und einem Land. Die meisten Sprachen gesprochen werden, in verschiedenen Ländern, und viele Länder haben mehrere Sprachen.
Wenn Sie hatte die Landes-code für eine Sprache, die Sie verwenden konnten
new Locale(code)
. Aber mit einem Land, code, alles, was Sie tun können, ist rufen SiegetAvailableLocales
, eine Schleife durch die Ergebnisse, und finden Sie eine, die Ihrem Land-code. Aber möglicherweise gibt es mehrere.InformationsquelleAutor JB Nizet
Können Sie entweder die locale,
oder
Durchlaufen
Locale.getAvailableLocales()
bis Sie finden, Ihr Gebietsschema, und verwenden Sie dann diese Instanz.InformationsquelleAutor aldrin
Ein Gebietsschema angegeben wird, vor allem durch die ISO-639-Sprachcode, möglich auch eine ISO-3166 country-code und eine Variante. Die
Locale
Klasse Konstruktoren, die entweder nur eine Sprache-code, oder zusätzlich einen Ländercode, oder zusätzlich eine Variante.Wenn Sie nur den Ländercode, müssen Sie zunächst eine Karte, die wandelt es in eine Sprache, die code - was aber nicht unbedingt zu einem eindeutigen Ergebnis, viele Länder verwenden mehr als eine offizielle Sprache.
InformationsquelleAutor Michael Borgwardt
In Java7 gibt es die
Locale.Builder
, aber vor, dass es nicht eine einfache Möglichkeit. Sie können jedoch erstellen eine utility-Methode:Locale.getAvailableLocales()
locale.getCountryCode().equals(countryCodeParam)
aus und senden esInformationsquelleAutor Bozho