2017-03-09 14 views
5

Piszę niektóre kodu konwersji waluty w Java i przy użyciu tego API i budować wewnętrzną tablicę przeglądową walutPewne oznaki waluty brakujące waluty w Java API

final Locale[] locales = Locale.getAvailableLocales(); 
for (final Locale locale : locales) { 
    final Currency currency = Currency.getInstance(locale); 
    String sign = currency.getSymbol(locale) 
    String code = currency.getCurrencyCode() 
    /* do something with them */ 
} 

mam dwie uwagi do tej pory.

  1. Ta aukcja nie zwraca znaku rupii w natywnym skrypcie https://en.wikipedia.org/wiki/Indian_rupee_sign. Zwraca Rs. zamiast

  2. Podobnie dla rosyjskiego rubla, zwraca руб zamiast znaku Rubel w natywnej skryptu https://en.wikipedia.org/wiki/Ruble_sign

Wiele walut międzynarodowych mają znaki w alfabecie łacińskim oraz natywnym skryptu. Java nie wydaje się być spójna w tym, co zwraca. Czy mam jakieś ograniczenie lub czy moje użycie API jest nieprawidłowe?

Dzięki!

Odpowiedz

6

Przetestowałem twój kod pod kątem indyjskiej rupii i wygląda na to, że działa idealnie. Symbol jest dostępny dla lokalizacji hi_IN

Rupees symbol for hi_IN locale

Ale en_IN, symbol 'RS' jest dostępny

Rs symbol for en_IN locale

Upewnij użyć właściwej lokalizacyjnych. :)

+1

Tak więc znak rupii, który widzisz, jest datowany. Miałem nadzieję zobaczyć ₹ https://en.wikipedia.org/wiki/Indian_rupee_sign –

+1

Btw, dziękuję za wybranie huśtawki przy kodzie i udostępnienie wyników! –

+1

Chyba @RanjitIyer jest poprawny. –