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 );
반응형
'Development > Java' 카테고리의 다른 글
JDBC Statement, PreparedStatement, CallableStatement 차이 (0) | 2015.01.22 |
---|---|
[iBatis] Delete statements cannot be executed as a query. (0) | 2014.02.05 |
[OSX,SWT] Error Display must be created on main thread due to Cocoa restrictions. (1) | 2012.12.03 |
PSD 포토샵 파일 Parser (0) | 2012.10.11 |
java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter (0) | 2012.08.16 |