sitelink1 | http://www.javaservice.net/~java/bbs/rea...1042755526 |
---|---|
sitelink2 | |
sitelink3 | http://1 |
sitelink4 | http://ko |
sitelink5 | |
sitelink6 | http://sitelink1 |
double형 데이터를 연산시 2진수로 처리하는 컴퓨터의 특성상 발생하게 되는 수치 연산 오류에 대한 내용이다.
결론은 BigDecimal을 사용하라는 거지만...
모든 수치연산은 BigDecimal을 이용하여 연산하라는 권유의 메세지
제목 : 정확한 금액 관련 처리? 글쓴이: 손님(guest) 2003/01/16 06:30:01 조회수:193 줄수:12 |
금액을 계산할 필요가 있을때... double을 사용합니다. 그런데.. String --> double 계산 할때.. 소수점 이하의 오차가 생겨서.. 소숫점 이하를 버리면.. 1원의 차가 발행하는 경우가 가끔 생깁니다.. 즉,계산결과 1000원이 나와야 하는데, 결과가 999.99999987가 되어, 999원이 결과값이 나오는 경우가 있습니다. 물론, BigDecimal을 사용하면.. 정확한 계산을 할 수 있다는데.. 조금.. 복잡하군요... 이러한 오차를 없앨 수 있는 방법을 알고 싶습니다. |
제목 : Re: 수치형 연산 고려사항 글쓴이: 이원영(javaservice) 2003/01/17 07:18:46 조회수:160 줄수:16 |
내부적 계산은 해당 수치형 유효숫자 범위내에서 그대로 연산되어야 하고, 최종적을 화면이나, DB에 저장되는 시점에서만, 필요하는 자릿수만큼 반올림되어야 겠지요. 참조자료: 8 [자바의 숫자표현] 어디까지 가능할까 !!! http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=920434490 191 자료형에 관하여.. http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=1018121121 여담: 214 int 형 정수의 자리수 체크는??? http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=1028585454 자바서비스넷 이원영 |