item 60) 정확한 답이 필요하다면 float, double은 피하라
float, double 사용 시 주의점
float, double은 부동 소수 타입이다.
10의 음의 거듭제곱수(10^-2, ...)를 표현할 수 없는 구조이다.
정확한 결과가 필요하거나 금융 관련 계산을 할 때엔 사용하면 안 된다.
정확한 결과가 필요한 경우
BigDecimal, int, long을 사용해야 한다.
BigDecimal의 경우 기본타입보다 쓰기 불편하고, 성능이 느리다.
int, long 타입의 경우 다룰수 있는 값의 크기가 제한되고, 소수점을 직접 관리해야 한다.
숫자를 아홉 자리 십진수로 표현할 수 있다면 int 사용하고, 열여덟자리 십진수로 표현할 수 있다면 long을 사용하고, 열여덟자리가 넘어가면 BigDecimal을 사용해야 한다.
Last updated