java - 为什么jSTL的formatNumber货币符号区域设置在设置currencyCode时是特定的

标签 java jsp jstl locale

我使用 formatNumber 如下:

<fmt:formatNumber value="${amount}" type="currency" currencyCode="${currencyCode}" var="amt" />

如果我位于 en_US 区域且货币代码为 EUR,我会得到 EUR 作为符号,但如果我位于 en_GB 区域,我会得到 。为什么要考虑区域设置?欧元不应该总是转换成 吗?无论如何,是否可以使用 formatNumber 获得我期望的行为?

最佳答案

考虑了区域设置,因此输出对用户有意义。

作为一个愚蠢的美国人(住在 en_US 地区),我不知道那个时髦的符号意味着什么。

欧元对我来说非常有意义。

一个quick google建议您可以将 currencySymbol 属性设置为您想要的任何内容:

<fmt:formatNumber value="${amount}" type="currency" currencySymbol="FOO" currencyCode="${currencyCode}" var="amt" />

关于java - 为什么jSTL的formatNumber货币符号区域设置在设置currencyCode时是特定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419827/

相关文章:

java/javascript 在线读取XML文件

java - SSLContextImpl 未初始化

java - 使用队列创建一个文件系统,实现为 Java 中的单链表树

java - 有没有办法在Windows 10下的SWT-Browser-View中使用EcmaScript 6?

java - 通过注释名称查找 pojo 字段

javascript - 从其他 JSP 中创建的 JS 函数接收 JSP 中的值

java - 带有泛型和 Mockito 的 ClassCastException

java - 用于测试 if Not 的 JSTL 表达式

java - JSP 显示日期时间而不是日期

spring - JSP 自定义标记中的 i18n 翻译