float 또는 double 계산 시 주의점
발생일: 2009.11.05 문제: 디자인 패턴 책을 읽으면서 예제를 따라해보던 중, double 의 합계 계산에서 뭔가 이상한 점을 발견했다. double a = 1.13; double b = 0.86; System.out.println(a + b); 이렇게 했을 때, 그 결과가 1.99가 나와야 정상인데, 1.9899999999999998 가 나와버린다. 움메... 이거 왜 이럴까... 해결책: float 과 double 타입은 과학과 엔지니어링 분야의 계산을 위한 목적으로 설계되었다. 그러나 정확한 결과를 제공하지는 않기 때문에, 주의해서 사용해야 한다고 한다. 그렇기 때문에 float 과 double 타입은 특히 화폐 계산에 부적합하다. float이나 double은 0.1(혹은 negative p..
Daylogs/Java
2009. 11. 5. 17:18
공지사항