예를 들어 나는이 할 경우 :두 번 수행 - INT를 자바
double decPart = 5.57 - 5;
System.out.println(decPart);
은 0.5700000000000003을 반환을 대신 0.57의. System.out.printf ("% .2f", decPart)를 사용하여 제대로 인쇄 할 수 있지만 문제가 해결되지 않습니다 (참고 : 소수 부분은 반드시 소수 2 자리가 아닙니다). 그래서 예를 들어 나는이 작업을 수행하려고하면 :
System.out.println(1.0 - decPart);
은 0.4299999999999997
누군가가이 문제를 어떻게 해결하는 방법을 설명시겠습니까 반환합니다. 미리 감사드립니다.
읽기 [모든 컴퓨터 과학자가 부동 소수점 연산에 대해 알아야 할 사항] (영문) (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) – Reimeus
* 정도*. –
@Reimeus 아마도 100 페이지짜리 문서를 읽을 필요가없는 간단한 해결책이있을 것입니다. – djv