为JSF/ICEfaces设置浮点格式化区域设置?

Tim*_*imo 5 java jsf icefaces internationalization

我正在编写一个使用资源包来处理国际化的JSF(ICEfaces)应用程序.

该应用程序很好地为资源包应用(默认)荷兰语"nl"语言环境,但在格式化浮点数时无法应用相同的语言环境,即使我使用明确设置页面的语言环境<f:view locale="nl">.

如何使浮点数符合当前的区域设置?

McD*_*ell 6

您可能没有使用转换器将数字格式化为适当的区域设置.

  <f:view locale="nl">
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
    <br />
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber locale="en" pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
  </f:view>
Run Code Online (Sandbox Code Playgroud)

此视图(带有数字的荷兰语区域设置视图,后跟英语区域设置编号)会生成以下输出:

12.341.234,43
12,341,234.43
Run Code Online (Sandbox Code Playgroud)