2012-02-07 6 views
3
Currency currency = Currency.getInstance(currencyCode); 

Как получить символ валюты так, как он будет отображаться в одном из его родных локалей, в отличие от локали по умолчанию?Как получить валютный символ валюты, как он появился бы в одном из его родных мест?

currency.getSymbol() не будет работать, потому что это будет основано на стандарте по умолчанию. currency.getSymbol(Locale locale) не будет работать, потому что код не сможет получить правильный язык, основанный исключительно на currencyCode.

+0

А (! Возможно бесполезен) реакция является то, что вы никогда не должны делать это. Вы показываете символы валюты? Отобразите их в текущей локали пользователя. Не имеет смысла отображать несколько валют в каждой локали, в которой они используются. Рассмотрим, сколько стран использует какой-то доллар; каждый из них просто будет отображаться как $. Безнадежно! –

+0

Это будет путь, который я в конечном итоге беру. – Gabriel

+1

Я тоже хочу это сделать. Меня не интересует местность. Меня беспокоит только символ. Меня не волнует, что символ тот же, что и «$» для нескольких валют, как в моем случае использования, это не имеет значения. –

ответ

2

Хотя я согласен с вами, когда вы сказали, «код не сможет получить правильную локаль, основываясь исключительно на CurrencyCode», Currency.getInstance() принимает также Locale в качестве параметра.

Я думаю, что это будет вашим лучшим выбором. Не более того, я не уверен, как вы будете извлекать Locale из всего, что содержится в вашем коде, но, предположительно, если вы можете найти способ, вы можете создать объект Locale и использовать его для захвата экземпляра валюты объект. Оттуда следует плавать.

Удачи!

Ссылки:

http://docs.oracle.com/javase/7/docs/api/java/util/Currency.html

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Locale.html

+1

Кроме того, вы можете установить свой язык с помощью чего-то например Locale.setDefault (Locale.UK); – northpole

+0

Ваше решение работает, когда язык известен. Вопрос в том, когда известен код валюты, но локаль неизвестна. – Gabriel

Смежные вопросы