4

我有一个从表中返回金额的查询:

select bus_price from mySchema.BusTable;

这将返回如下金额:

526547
123456
456789.25
12478.35

我在碧玉报告中使用了上述金额。

但是,我希望报告中的输出显示为:

$526,547.00
$123,456.00
$456,789.25
$12,478.35

JRXML 代码片段是:

<textField isStretchWithOverflow="true">        
     <reportElement stretchType="RelativeToTallestObject" x="700" y="0" width="100" height="30"/>                               
     <textElement/>             
       <textFieldExpression class="java.math.BigDecimal">
         <![CDATA[$F{BusPrices}]]>
      </textFieldExpression>         
</textField>

我知道我必须使用模式。但是,我无法使其工作。

使用

<textField isStretchWithOverflow="true" pattern='$###,##0.00'>        

不管用。

我错过了什么??

谢谢阅读!

4

3 回答 3

10

你很亲近

<textField pattern="¤ #,##0.00">

应该管用。

您需要“¤”字符使其成为“货币”格式。

如果您下载版本号与您的服务器匹配的 iReports,您会发现您的选项是什么。

于 2012-05-02T14:42:05.283 回答
3

如果要以 $ 显示货币符号且货币代码为 USD,请在 jasper 报告中使用以下模式。模式 = $ #,##0.00

于 2015-08-18T06:19:54.200 回答
0

这可能取决于您的 Jasper 版本。

在 3.7.6 上,我发现将 textFieldExpression 类指定为 java.util.BigDecimal 意味着不应用该模式。也许那个版本的 Jasper 没有意识到它是一个数字。

如果您选择将 textFieldExpression 类指定为“java.lang.Number”,那么当您传入 BigDecimal 时,它将使用该模式。

于 2012-05-30T18:12:19.027 回答