Мы используем отчет о яшме.
И для одного из полей в отчете мы установили формулу, например, если значение поля rate1 равно null, тогда отобразите "-" в отчете иначе значение rate1
такое как ## 0.0000.
$ F {rate1}? New DecimalFormat ("## 0.0000"). Format (новый BigDecimal ("" +$F {rate1})): "-"
Но если значение rate1
равно 0, то также отображается "-" вместо 0.0000. Что может быть проблемой?
Вам нужно изменить его на следующий.
$F{rate1} != null ? new DecimalFormat("##0.0000").format(new BigDecimal(""+$F{rate1})):"-"
Чтобы объяснить, я не проверял в JasperReports и не имею настройки для тестирования сразу. Но в C нуль считается ложным, а ненулевое значение считается истинным.
Где-то, когда отчеты анализируются и выполняются, это может происходить, это может быть сценарий. Вы лучше согласитесь с сообществом об этом.