我们正在使用碧玉报告。

对于报告中的字段之一,我们设置了公式,例如如果rate1字段的值为null,则在报告中显示“-”,否则格式为rate1值,例如## 0.0000。


  $ F {rate1}?new DecimalFormat(“ ## 0.0000”)。format(new
  BigDecimal(“” + $ F {rate1})):“-”


但是,如果rate1的值为0,那么它还会显示“-”而不是0.0000
有什么问题?

最佳答案

您需要将其更改为以下内容。

$F{rate1} != null ? new DecimalFormat("##0.0000").format(new BigDecimal(""+$F{rate1})):"-"


为了说明,我还没有签入JasperReports,也没有设置可以立即进行测试。
但是在C中,零被认为是假的,而非零值被认为是真。

在解析和执行报告的某个地方,这可能正在发生,这可能是场景正在发生。您最好与社区确认一下。

10-08 02:50