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 사용합니다
—
길버트 르 블랑