IReport BigDecimal格式“R $#,## 0.00”图表中的货币价值

时间:2016-04-23 05:34:44

标签: jasper-reports bar-chart jfreechart bigdecimal

我有 JasperReports 图表,在报告中,field $F{soma}BigDecimal,位于database MySQLDecimal(19,2)。我正在使用此sqlselect 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中的字段:

enter image description here

正在打印的标签(没有格式表达)

enter image description here

2 个答案:

答案 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(…));