|
예를 들어
float fVal=0.001;
if(fVal==0.001)
cout<<"true"<<endl;
else
cout<<"false"<<endl;
이라는 코드를 했을경우에 결과를 보니
false가 찍히더군요
값을 확인해보면
fVal =0.001000000049 정확한건 아니지만 이런식으로
뒤에 값이 더 붙어버리는 바람에 false가 찍히는 것 같습니다.
watch에서 확인해보면 fVal=0.001이라고 나오는데
왜 둘의 결과가 다른걸 까요?
위의 결과가 true로 나오게 할수 있는방법좀 알려주십시요..
제생각엔 옵션이 있을것 같은데
대강 프로젝트 옵션에 있는 컴파일 옵션중에 float그룹안에 있는것을
변경해보았지만
별 소용이 없더라구요
한수 지도 바랍니다. 꾸벅
|