백엔드/Java

BigDecimal divide 시 에러

infitry 2022. 12. 21. 17:10
반응형

 

BigDecimal 나눗셈 시 소수점 자릿수가 무한대 일 경우 

"Non-terminating decimal expansion; no exact representable decimal result"

오류가 발생한다.

 

적절하게 scale 처리를 해주어야 한다.

 

기존 나눗셈 처리시 BigDecimal 의 정적변수 대신 RoundingMode enum 클래스를 사용한다.

 

bigDecimal.divide(new BigDecimal(3), 3, BigDecimal.ROUND_HALF_UP);

bigDecimal.divide(new BigDecimal(3), 3, RoundingMode.HALF_UP);

반응형