티스토리 뷰

프로그래밍/Java

float와 double 타입..

미니~ 2011. 11. 1. 08:45
Effective Java란 책을 보면..

정확한 계산에 float이나 double 타입을 사용하지 말라고 나와 있습니다. 
java 프로그래밍에서 돈과 같이 중요한 계산에 float이나 double을 사용하면 원하는 값이 나오지 않는다는 것인데요..

예를 들어 1.03 달러에서 42센트를 사용했다면 61센트가 남아야겠죠..
그래서 다음과 같이 자바 프로그래밍으로 실행하면..

System.out.println(1.03 - .42);

---------- Execute ----------
0.6100000000000001

출력 완료 (0초 경과) - 정상 종료

원하지 않는 값이 나오게 된다고 하네요~~

float와 double이 과학과 공학 계산용으로 만들어서 매우 넓은 범위의 수에 대한 정확한 근사값을 빨리 계산하기 때문이라고 합니다.

그럼.. 무얼 사용해야 할까요? 
int, long 또는 BigDecimal을 사용하면 된다고 합니다. 

요 Effective Java란 책을 보면 괜찮은 내용이 많이 있습니다.
다만, 번역이 좀 매끄럽지 못해서 안타까움이 좀 있네요..
댓글
댓글쓰기 폼