В каком формате для Java мне бы посоветовали представлять символы валют, чтобы их можно было легко отображать на странице JSP? - PullRequest
0 голосов
/ 31 августа 2011

У меня есть таблица из 3-буквенных кодов валют для каждой доступной валюты, например: USD, JPY, EUR и т. Д.

Но это немного скучно для отображения3-буквенные коды на веб-странице, когда большинство людей просто отображают символ валюты ($, ¥, и т. Д.).

Мне не удалось найти бесплатную библиотеку Javaпреобразовать 3-буквенные коды валют в соответствующие им символы валют?Функция Java Locale ограничена и громоздка.

Поэтому я решил вручную добавить новый столбец в мою существующую таблицу и добавить соответствующие символы валюты.

Однако яНе знаете, в каком формате они будут представлены в таблице, чтобы их можно было легко вывести на страницу JSP?Должен ли я скопировать и вставить символы из Википедии?Или, если я получу значения Unicode для символов где-нибудь, легко ли будет JSP преобразовать значения Unicode в символы?Я раньше не работал с Unicode.

Ответы [ 5 ]

2 голосов
/ 31 августа 2011

Вы пробовали getSymbol на валюте согласно javadocs ?

Почему это громоздко?

1 голос
/ 31 августа 2011

Вы можете использовать icu4j .

ICU - это зрелый, широко используемый набор библиотек C / C ++ и Java, обеспечивающий поддержку Unicode и Globalization для программных приложений.

0 голосов
/ 31 августа 2011

Если вы решите создать справочную таблицу из аббревиатуры от валюты до символа, лучшим выбором будет использование сущности HTML. Есть два варианта, и вы, вероятно, захотите использовать оба.

Во-первых, для общих валют существуют явные сущности, такие как €. Вы найдете их таблицу здесь (некоторые символы будут на странице "Latin 1", другие - на странице "Другие специальные символы").

Во-вторых, для необычных валют вы должны использовать экранирование Юникода. Общая форма - &#xnumber;, где number - шестнадцатеричное значение кодовой точки Unicode. Существует блок из символов валюты , хотя возможно, что нужные вам символы включены в другой блок кода. Отправной точкой для нахождения блока кода является здесь .

Не просто вставляйте символы из Википедии, если только вы не понимаете, как работают кодировки, а также (1) какую кодировку действительно используют ваши файлы и (2) какую кодировку ваш веб-сервер утверждает, что они используют.

0 голосов
/ 31 августа 2011

Класс NumberFormat - это то место, где вы захотите посмотреть. Это будет зависеть от конкретной локали и сможет дать вам правильную нумерацию. Вот пример.

NumberFormat us = NumberFormat.getCurrencyInstance(Locale.US);
String usFormat = us.format(56.45);
System.out.println(usFormat);

NumberFormat uk = NumberFormat.getCurrencyInstance(Locale.UK);
String ukFormat = uk.format(56.45);
System.out.println(ukFormat);

Ваш вывод будет выглядеть следующим образом

$56.45
£56.45
0 голосов
/ 31 августа 2011

Может быть, вы можете иметь символы валюты в вашем языковом файле.

Обновлено: удалена текстовая часть с помощью db

...