-
[JAVA] BigDecimal 사칙연산과 Non-terminating decimal expansion; no exact representable decimal resultJAVA 2021. 6. 23. 16:36
BigDecimal number1 = new BigDecimal("250.125");
BigDecimal number2 = new BigDecimal("150.352");
더하기 : number1.add(number2);
빼기 : number1.subtract(number2);
곱하기 : number1.multiply(number2);
나누기 :
올림 - number1.divide(number2 , 2(소수점자리수), BigDecimal.ROUND_UP);
버림 - number1.divide(number2 , 4, BigDecimal.ROUND_DOWN);
반올림 - number1.divide(number2 , 3, BigDecimal.ROUND_HALF_UP);
반내림 - number1.divide(number2 , 1, BigDecimal.ROUND_HALF_DOWN);
BigDecimal 나누기를 할 경우 정확히 값이 떨어지지 않으면
" Non-terminating decimal expansion; no exact representable decimal result "
에러가 발생된다.
그렇기에, 나누기 할 때는 소수점 처리를 해줘야 한다.
'JAVA' 카테고리의 다른 글
[JAVA] BigDecimal 사용 이유와 비교하는 방법 (0) 2021.06.22