我建议使用什么格式的Java代表货币符号,以便它们可以很容易地显示在JSP页面上?

时间:2011-08-31 14:03:07

标签: java unicode internationalization currency

我有一张每种可用货币的3-alpha货币代码表,例如:USDJPYEUR等。

但是,当大多数人只显示货币符号($¥等)时,在网页上显示3-alpha代码有点啰嗦。

我无法找到一个免费的Java库来将3-alpha货币代码转换为相应的货币符号? Java Locale功能有限且繁琐。

所以我决定手动将新列添加到现有表中,并自行添加相应的货币符号。

但是,我不确定在表格中表示它们的格式是什么,以便它们可以在JSP页面上轻松输出?我应该复制粘贴维基百科的符号吗?或者,如果我在某处获得符号的Unicode值,是否可以轻松地将Unicode值转换为符号?我之前没有使用过Unicode。

5 个答案:

答案 0 :(得分:2)

您是否在Currency as per javadocs上尝试了getSymbol?

为什么这很麻烦?

答案 1 :(得分:1)

您可以使用icu4j

ICU是一套成熟且广泛使用的C / C ++和Java库,为软件应用程序提供Unicode和全球化支持。

答案 2 :(得分:0)

也许您可以在语言文件中使用货币符号。

更新:删除了带有db

的文本部分

答案 3 :(得分:0)

如果您选择创建从货币缩写到符号的查找表,最好的选择是使用HTML实体。有两种变体,你可能想要同时使用它们。

首先,对于普通货币,有明确的实体,例如€。你会找到一个表格here(某些符号将出现在“拉丁语1”页面中,其他符号将出现在“其他特殊字符”页面中。)

其次,对于非常见货币,您应该使用Unicode转义。一般形式为&#xnumber;,其中number是十六进制Unicode代码点值。有一个currency symbols块,尽管您想要的符号可能包含在另一个代码块中。查找代码块的起点是here

不要简单地粘贴来自维基百科的符号,除非您了解编码的工作原理,以及(1)您的文件实际使用的编码方式,以及(2)您的网络服务器声称的编码方式

答案 4 :(得分:-1)

您需要查看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