연산에 대해서 물어볼것이...
말글
2023.04.01
자바에서부동소수표현 때문에
double D=1.23456;
int n = (int)D;
double r = D - (double)n;
System.out.println(정수부분 = + n);
System.out.println(소수부분 = + r);
이런식으로 하면
소수부분 값이 0.2345000000000001
이런식으로 정확하게는 안나오자나요..
이런것 때문에 문제가 있을수있나요?
-
치리
제가 초보라서 실제로 한번 해봤는데여~~ 10.0 으로 하니까 0 되는데 9.9 로하고 1.1 씩 빼니까
계속 도네요..^0^ -
휘들램
감사합니다..^^
-
옆집꼬마야
부동 소숫점 문제는.. 어쩔수 없는 겁니다.
그 정도로 정밀한 연산을 원할때에는... 다른것을 쓰셔야 겠죠? ^_^?
문제가 될 수 있는 경우.
for ( double d = 10.0 ; d != 0 ; d-- ) ; 이렇게 했을때..
d 가 정확하게 0 이 되지 않는 경우가 발생할 수 있기 때문에 무한 루프를 돌 가망성이 있을 수 있습니다.