Development/Java
Non-terminating decimal expansion; no exact representable decimal result.
nabina
2013. 9. 23. 15:02
728x90
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
소수점 몇 자리까지 계산할 건지를 정해줘야 한다.
왜냐면 10을 3으로 나누면 3.333333333333.... 와 같이 값이 끝없이 나오기 때문에 정해서 잘라줘야 한다.
안 그러면 위와 같은 에러가 발생할 것이다.
방법은 아래와 같다.
BigDecimal a = new BigDecimal( "1.0" ); BigDecimal b = new BigDecimal( "0.3" ); //6자리까지 계산하겠다는 옵션. 다른 옵션은 다른 사이트을 참조. BigDecimal c = a.divide( b, MathContext.DECIMAL32 );
반응형