具有零值的Jasper报告十进制格式为null

时间:2014-09-02 08:35:41

标签: java jasper-reports

我们正在使用jasper报告。

对于报告中的一个字段,我们设置了公式,就像rate1字段的值为null,然后在报告中显示&#34; - &#34; ,否则格式rate1值<=> ## 0.0000 。

  

$ F {rate1}?新的DecimalFormat(&#34; ## 0.0000&#34;)。format(new   的BigDecimal(&#34;&#34 + $ F {RATE1})):&#34; - &#34;

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

1 个答案:

答案 0 :(得分:0)

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

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

要解释一下,我还没有检查JasperReports并且没有立即测试的设置。 但在C中,零被视为假,而非零值被视为真。

在解析和执行报告的某个地方,可能正在发生,这可能是正在发生的情况。您最好与社区确认此事。