가능한 중복 :
Retain precision with Doubles in java왜이 두 개의 double을 추가해도 정답이 나오지 않는 이유는 무엇입니까?
import static java.lang.System.out;
public class q2{
public static void main(String args[]){
double x=4.02, y=0.05;
out.println(x+y);
}
}
출력 :
4.069999999999999
왜 그것을 출력하고 있습니까? 나는 그것이 4.07 일 것이라고 생각했다. 이것이 java에서 일어나는 이유를 설명해주십시오.
정확하지 않은 질문 제목은 죄송합니다. 이보다 더 좋은 제목을 가질 수 없습니다.
이유는 무엇입니까? x와 y의 실제 값을 고려하면 정답입니다. – Jacob
질문은 미래의 계산에서 4.07이 4.06999999999999와 다를 것이라고합니다. 특정 정밀도에 대한 최종 답을 원한다면 끝에서 반올림하십시오. –
부동 소수점 산술 연산은 모든 프로그래머의 삶에서 중요한 이정표가됩니다. 축하해. :) –