0

当我有一个值为 34.31 的 BigDecimal 并使用以下代码显示它时:

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

我原以为它会显示 34.31 美元,但它却显示为 34.31。

我究竟做错了什么?

4

1 回答 1

0

谢谢@partlov。

当 <f:convertNumber/> 具有模式属性时,类型和货币属性将被忽略。因此,使用以下内容:

<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 美元。

于 2013-02-15T15:08:02.503 回答