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