我使用 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/