Я пытаюсь округлить значения BigDecimal до двух десятичных знаков.
я использую
BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING));
logger.trace("rounded {} to {}", value, rounded);
но он не делает то, что я хочу последовательно:
rounded 0.819 to 0.82
rounded 1.092 to 1.1
rounded 1.365 to 1.4 // should be 1.37
rounded 2.730 to 2.8 // should be 2.74
rounded 0.819 to 0.82
Меня не волнуют значащие цифры, я просто хочу два знака после запятой. Как мне сделать это с BigDecimal? Или другой класс / библиотека лучше подходит для этого?
9
Если вы действительно хотите округлить, вы должны использовать RoundingMode.HALF_UP
—
Гилберт Ле Блан