我有一个从表中返回金额的查询:
select bus_price from mySchema.BusTable;
这将返回如下数量:
526547
123456
456789.25
12478.35
我在jasper报告中使用了以上金额。
但是,我希望报告中的输出显示为:
$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'>
无效。
我错过了什么?
感谢阅读!
答案 0 :(得分:8)
你很亲密
<textField pattern="¤ #,##0.00">
应该有用。
您需要“¤”字符才能使其成为“货币”格式。
如果您下载的iReports版本号与您的服务器相匹配,则可以找到您的选项。
答案 1 :(得分:2)
如果要在$中显示货币符号且货币代码为USD,请在jasper报告中使用以下模式。 pattern = $#,## 0.00
答案 2 :(得分:0)
这可能取决于您的Jasper版本。
在3.7.6上我发现将textFieldExpression类指定为java.util.BigDecimal意味着不应用该模式。也许那个版本的Jasper没有意识到它是一个数字。
如果您选择将textFieldExpression类指定为“java.lang.Number”,则在传递BigDecimal时将使用该模式。