任何人都知道如何制作JavaServer Faces h:outputText f:convertNumber将BigDecimal显示为美元?

时间:2013-02-14 18:32:32

标签: primefaces currency

当我有一个BigDecimal,其值为34.31时,我用以下代码显示它:

<h:outputText value="#{invoice.invoiceHeader.totalInvoiceAmt}">
    <f:convertNumber pattern="#0.00" type="currency" currencyCode="USD" currencySymbol="$"/>
</h:outputText>

我期待它显示34.31美元,但它显示34.31。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

谢谢@partlov。

当&lt; f:convertNumber /&gt;具有模式属性,将忽略类型和货币属性。所以有以下几点:

<h:outputText value="#{invoice.invoiceHeader.totalInvoiceAmt}">
    <f:convertNumber pattern="#0.00" type="currency" currencyCode="USD" currencySymbol="$"/>
</h:outputText>

仅使用pattern =“#0.00”,因此34.4变为34.40。但有以下几点:

<h:outputText value="#{invoice.invoiceHeader.totalInvoiceAmt}">
    <f:convertNumber type="currency" currencyCode="USD" currencySymbol="$"/>
</h:outputText>

使用所有属性导致34.4变为$ 34.40。