BigDecimal 사용시 주의 사항
java에서 실수 타입 데이터를 사용할 때 float
와 double
을 사용하여 표기한다.
각 타입의 지원 범위는 다음과 같다.
Floating Point Type
Minimun Positive Value
Default Value
Maximum Value
float
1.40239846e–45f
0
3.40282347e+38f
double
4.94065645841246544e–324d
0
1.7976931348623157e+308d
이러한 실수 타입을 컴퓨터로 표기하기 위한 표준이 IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std. 754-1985 에 정의되어 있다.
binary 형태로 저장하는 과정에서 의도한 값을 정확하게 저장 할 수 없고 근사치로 저장하게 되며, 이로 인하여 오차가 발생한다.
따라서 정밀한 계산을 위해서는 BigDecimal
타입으로 선언하여 사용하도록 권고 된다.
BigDecimal
을 사용해서 실수 타입 값을 사용할 때 아래 코드에서 보여 진 것처럼 주의해야 하는 사항이 있다.
테스트 코드
실행 결과
Last updated