У нас есть одна страница, на которой мы извлекаем данные из базы данных. есть одно поле «AmountEur», которое округляется (используя метод bigdecimal.ROUND_HALF_UP) перед отображением его на странице просмотра.
код такой:
final Object amountEur = result.get("mtmAmountEUR");
if (amountEur != null) {
BigDecimal mtmAmt = ((BigDecimal) amountEur ).setScale(0, BigDecimal.ROUND_HALF_UP);
result.put("mtmAmount", mtmAmt);
}
С этим кодом я столкнулся с одной проблемой. предположим, что если данные, полученные из db, равны 2650,5, тогда данные, отображаемые на странице просмотра, будут только 2650. в идеале это должно быть 2651. С другой стороны, если данные 2650,55 в БД, они отображаются нормально на странице просмотра, т.е. 2651. Я не знаю, в чем проблема с моим кодом. Может кто-нибудь, пожалуйста, помогите.
result.get(...)
отResultSet
? Если да, используйтеresult.getBigDecimal()
- person Steffen   schedule 03.02.2015(BigDecimal) amountEur
, чтобы убедиться, что оно действительно точное2650.5
. Думаю, меньше. - person SubOptimal   schedule 03.02.2015