金額を$12,050,999.00
形式で表示したいと思います。
私は次のように試しました:
<h:outputText value="#{sampleBean.Amount}">
<f:convertNumber pattern="###,###" currencySymbol="$" type="currency"/>
</h:outputText>
ただし、希望する形式で金額が表示されませんでした。代わりに12,050,999
を受け取りました。
目的のフォーマットを次の図に示します。
どうすればこれを達成できますか?
あなたのpattern
は通貨に対して間違っています。 _pattern="¤#,##0.00"
_を使用する必要があります。
_<f:convertNumber pattern="¤#,##0.00" currencySymbol="$" />
_
ただし、さらに問題があります。元のコードではtype
属性も指定していますが、これは正しいですが、これはpattern
属性と相互に排他的であるため、pattern
属性は優先されます。
実際にはpattern
属性を省略し、type
属性を守る必要があります。
_<f:convertNumber type="currency" currencySymbol="$" />
_
これはUIViewRoot#getLocale()
で使用可能なロケールを使用することに注意してください。これは、USD通貨の正しい最終形式を取得するために、英語/米国ベースのロケールであることが期待されています。 _<f:view>
_のいずれかで明示的に指定する必要があります。
_<f:view locale="en_US">
_
または_<f:convertNumber>
_のlocale
属性内:
_<f:convertNumber type="currency" currencySymbol="$" locale="en_US" />
_