如何将货币欧元符号放在最后而不是输出的开头?

sfr*_*frj 5 java jsf currency java-ee

我使用JSF的2.0标准转换器标签来格式化一些数字输出作为货币.但我有一点问题,我不知道如何将欧元符号放在输出的末尾.

这就是我做的:

<h:outputText value="#{payment.amount}">
    <f:convertNumber type="currency" currencySymbol="€"/>
</h:outputText>
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

€15.55

但是所需的输出是:

15,55€

有人可以就如何解决这个小问题给我建议吗?

Bal*_*usC 12

格式取决于视图的区域设置.区域设置可以通过两种方式设置.

  1. 通常由标签的locale属性<f:view>:

    <f:view locale="#{bean.locale}">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 具体来说,标签的locale属性<f:convertNumber>:

    <f:convertNumber type="currency" currencySymbol="€" locale="#{bean.locale}" />
    
    Run Code Online (Sandbox Code Playgroud)

目前还不清楚您所针对的区域设置,但使用,分数分隔符和货币 之后的位置是典型的德国(de-DE),法国(fr-FR)和葡萄牙(pt-PT).所以你需要设置它:

<f:convertNumber type="currency" currencySymbol="€" locale="pt-PT" />
Run Code Online (Sandbox Code Playgroud)

它也可以从java.util.Localebean属性中获得.