Как разделить значение BigDecimal в выражении ireport с проверкой

У меня есть это выражение в поле:

$F{quartoAptoValorTotalLiberado} != new BigDecimal(0) &&
$F{quartoAptoValorTotalCobrado} != new BigDecimal(0)   ?

$F{quartoAptoValorTotalLiberado}.divide($F{quartoAptoValorTotalCobrado}, new MathContext(100))

:
new BigDecimal(0)

Все определенные поля имеют тип BigDecimal.

Я использую ireport версии 3.0.0

Когда я использую ireport, компиляция выполняется успешно, но когда я компилирую в java run debug, я получаю сообщение об ошибке, потому что это выражение неверно.

Я не могу повторно открыть этот вопрос. Я был решен программно внутри iReport 3.0.0 с помощью этого кода:

$F{dayClinicValorTotalLiberado} != BigDecimal.ZERO &&
$F{dayClinicValorTotalCobrado} != BigDecimal.ZERO    ?

$F{dayClinicValorTotalLiberado}.divide($F{dayClinicValorTotalCobrado}, new MathContext(100))

:

BigDecimal.ZERO

person paulo.sobrinho    schedule 06.02.2018    source источник
comment
Боковое примечание: используйте BigDecimal.ZERO   -  person Juan Carlos Mendoza    schedule 06.02.2018
comment
Не сравнивайте значения BigDecimal, используя !=, ==. Используйте compareTo метод.   -  person Juan Carlos Mendoza    schedule 06.02.2018
comment
Спасибо @JuanCarlosMendoza   -  person paulo.sobrinho    schedule 07.02.2018
comment
Как суммировать значения без использования полосы детализации? мне нужно суммировать много полей типа BigDecimal   -  person paulo.sobrinho    schedule 07.02.2018