09Q*_*534 9 jsf number-formatting
我想以$12,050,999.00格式显示金额.
我尝试如下:
<h:outputText value="#{sampleBean.Amount}">
<f:convertNumber pattern="###,###" currencySymbol="$" type="currency"/>
</h:outputText>
Run Code Online (Sandbox Code Playgroud)
但是,它没有以所需格式显示数量.我得到了12,050,999.
所需格式如下图所示:

我怎样才能做到这一点?
Bal*_*usC 21
你pattern的货币错了.你应该使用pattern="¤#,##0.00".
<f:convertNumber pattern="¤#,##0.00" currencySymbol="$" />
Run Code Online (Sandbox Code Playgroud)
但是,还有更多内容:在原始代码中,您还指定了type属性,这是正确的,但这与pattern属性相互排斥,从而pattern属性优先.
你应该省略pattern属性并坚持type属性.
<f:convertNumber type="currency" currencySymbol="$" />
Run Code Online (Sandbox Code Playgroud)
请注意,这会使用可用的UIViewRoot#getLocale()区域设置,以期获得基于英语/美国的区域设置,以获得美元货币的正确最终格式.您想在以下任一位置明确指定它<f:view>:
<f:view locale="en_US">
Run Code Online (Sandbox Code Playgroud)
或者在以下locale属性中<f:convertNumber>:
<f:convertNumber type="currency" currencySymbol="$" locale="en_US" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40611 次 |
| 最近记录: |