我有 JasperReports 图表,在报告中,field
$F{soma}
为BigDecimal
,位于database
MySQL
是Decimal(19,2)
。我正在使用此sql
:select SUM(valor) as soma
来获取字段$F{soma}
。
仅打印$F{soma}
即可获得标签:1.500,20
。没有格式表达。我需要的是显示标签:"R$ 1,520.20"
。
试过这个:
new java.text.DecimalFormat("R$ #,##0.00").format(Double.valueOf($F{soma}))
但没有成功,所以如果有人能指出我的方向,我会很感激。
发布图片时没有声望,但下面的链接是关于field
类型..
MySQL
中的字段:
正在打印的标签(没有格式表达)
答案 0 :(得分:2)
如果您的$F{soma}
是BigDecimal
字段,请填写
new java.text.DecimalFormat("R$ #,##0.00").format($F{soma});
答案 1 :(得分:1)
使用具有Currency
权限的NumberFormat
实例来格式化值。如果默认Locale
给您一个问题,
将NumberFormat.getCurrencyInstance(Locale inLocale)
与您想要的Locale
一起使用,例如:
NumberFormat.getCurrencyInstance(Locale.US);
使用NumberFormat.getInstance()
和setCurrency()
设置您想要的Currency
,例如:
NumberFormat f = NumberFormat.getCurrencyInstance();
f.setCurrency(Currency.getInstance(…));