2010년 12월 16일 목요일

이럴수가 ㅠㅠ

[원문] java에서 float, double형 소수점 사칙연산 오류

소수점 data의 경우 사칙연산을 하는 도중 0.00000001 뭐 이정도의 오차가 발생하면서 결과값이 이상하게 나오는 오류가 발생되어 진다.

여기저기 찾아 보니 float, double형의 소수점 계산은 권장하지 않는듯 하다.

계산을 해야하는 경우라면 java.math.BigDecimal 을 사용하면 소수점 계산의 오류없이 결과값을 얻을수 있다.

ex) import java.math.BigDecimal
     BigDecimal val1 = new BigDecimal("0");      //값이 0인 BifDecimal변수 선언
     BigDecimal val2 = new BigDecimal("0");      //값이 0인 BifDecimal변수 선언
     val1 = val1.add(val2);                               //val1변수에 val1 +val2값을 넣어준다

=========================================
다크써클 원숭이의 블로그에서 도움을 받았습니다.
좋은 정보 올려주셔서 감사합니다.^^

댓글 없음:

댓글 쓰기