我们正在使用碧玉报告。
对于报告中的字段之一,我们设置了公式,例如如果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中,零被认为是假的,而非零值被认为是真。
在解析和执行报告的某个地方,这可能正在发生,这可能是场景正在发生。您最好与社区确认一下。