2013-11-08 5 views
-1

Это формула, которую я использую для расчета процентов: (new BigDecimal($V{YRSSN_CountsMeasure}).compareTo(BigDecimal.ZERO) == 0)?"0.0%": (100 * $V{Premium_YesMeasure}.floatValue()/$V{YRSSN_CountsMeasure}.floatValue()) + "%" Хорошо работает, за исключением того, что он не форматируется должным образом. Я хочу 1 десятичный после точки, и это приносит 7! Как я могу это исправить? установка модель не работаетокругление расчетное процентное значение jasper

+0

Какой шаблон настройки вы пробовали, что А не было». t work? – JamesB

+0

Какой тип YRSSN_CountsMeasure и Premium_YesMeasure? – JamesB

+0

У меня есть это: #, ## 0.0 – user2019324

ответ

0

Предполагая, что все типы переменных BigDecimal, это должно работать для вас:

(new BigDecimal($V{YRSSN_CountsMeasure}).compareTo(BigDecimal.ZERO) == 0) ? "0.0%" : ($V{Premium_YesMeasure}.divide($V{YRSSN_CountsMeasure}).multiply(BigDecimal.valueOf(100)).setScale(1)) + "%" 

Edit: Добавлена ​​отсутствует (при запуске

+0

не работает, я получаю эту ошибку: – user2019324

+0

com.jaspersoft.jasperserver.api.JSExceptionWrapper: Ошибки возникали при компиляции класса выражений отчета файл: 1. Ошибка синтаксиса на токене ")", удалить это значение токена = new BigDecimal (((java.lang.Long) variable_YRSSN_CountsMeasure.getValue())). compareTo (BigDecimal.ZERO) == 0)? «0.0%»: – user2019324

+0

(((java.lang.Long) variable_Premium_YesMeasure.getValue()). Divide (((java.lang.Long) variable_YRSSN_CountsMeasure.getValue())). Multiply (BigDecimal.valueOf (100)). setScale (1)) + "%"; // $ JR_EXPR_ID = 14 $^1 ошибки – user2019324

Смежные вопросы