가능한 중복 부동 그러나자바 더블 정밀도 소수점
double number1 = 6; double number2 = 5.99; double result = number1 - number2;
의
result == 0.009999999999999787
대신 :
how to fix double precision issue in java
을 나는이 같은 코드의 작은 조각을 가지고 0.01
IEEE 754 표준 문제입니다.하지만 그 이유는 모르겠습니다. 제발 설명해 주시겠습니까? 부동 소수점 숫자가 정확히 (안 정밀 손실없이) 제한 비트 이진 시스템으로 표현 될 수 없기 때문에
5.99에 가장 가까운 double 값은 5.9900000000000002131628207280300557613372802734375입니다. –
당신은 부동 소수점 문제가있어, 나는 너를 위해 나쁘다고 느낀다. .99 문제가 있지만 무한 정밀도는 .01이 아닙니다. – yshavit