我想以$12,050,999.00
格式显示金额。
我尝试如下:
<h:outputText value="#{sampleBean.Amount}">
<f:convertNumber pattern="###,###" currencySymbol="$" type="currency"/>
</h:outputText>
但是,它没有以所需格式显示金额。我改为12,050,999
。
所需格式如下图所示:
我怎样才能做到这一点?
答案 0 :(得分:21)
您的pattern
对于某种货币是错误的。您应该使用pattern="¤#,##0.00"
。
<f:convertNumber pattern="¤#,##0.00" currencySymbol="$" />
但是,还有更多内容:在原始代码中,您还指定了type
属性,这是正确的,但这与pattern
属性互斥,即pattern
属性获得优先权。
您实际上应该省略pattern
属性并坚持type
属性。
<f:convertNumber type="currency" currencySymbol="$" />
请注意,这会使用UIViewRoot#getLocale()
提供的区域设置,该区域设置应该是基于英语/美国的区域设置,以便获得美元货币的正确最终格式。您想在<f:view>
:
<f:view locale="en_US">
或locale
的{{1}}属性:
<f:convertNumber>