2016-11-11 3 views
-4

Angenommen, ich habe einen Ländernamen wie USA. Also möchte ich in USD umwandeln. Ich habe nur den Ländernamen von webservice.Wie wird der Name eines Landes in einen Währungscode umgewandelt?

Ich habe diesen Code versucht, aber wie Ländername in Locale-Objekt konvertieren. Kann jemand in diesem Problem vorschlagen?

String countryName=jsonObject.getString("country"); 
+0

Das Gebietsschema verwendet einen Sprachcode als Parameter für den Konstruktor, nicht den Ländernamen: https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html#Locale(java. lang.String) – 1615903

+0

In Ihrem Code nur auf das Problem hingewiesen - warum sollten Sie erwarten, dass es funktioniert, da es eindeutig dokumentiert ist, dass es nicht funktioniert? – 1615903

+0

ok jetzt sagen, wie zu lösen –

Antwort

1

Sie auch https://github.com/TakahikoKawasaki/nv-i18n Bibliothek verwenden können diese speziell für diesen Zweck ausgelegt ist.

Von seiner GitHub Seite

Paket zur Unterstützung der Internationalisierung, ISO 3166-1 Land Code Enum, ISO 639-1 Sprachcode Enum enthält, usw.

Beispiel spezifisch für diese Frage

String countryName = jsonObject.getString("country"); 
List<CurrencyCode> codes = CurrencyCode.getByCountry(countryName, false) 

Einfaches Beispiel verfügbare Liste zu sehen (von Github Seite),

3

Ländercode Geben Sie anstelle von Ländernamen

public static void main(String[] args) throws InterruptedException { 
Map<String, String> countries = new HashMap<>(); 
for (String iso : Locale.getISOCountries()) { 
    Locale l = new Locale("", iso); 
    countries.put(l.getDisplayCountry(), iso); 
} 

System.out.println(countries.get("Switzerland")); 
System.out.println(countries.get("Andorra")); 
System.out.println(countries.get("Japan")); 
} 
+0

Seine nützliche Antwort –

Verwandte Themen