작은 문제가있어 해결책을 찾을 수 없습니다!Objective-C의 수레 문제
내 코드 (이것은 단지 샘플 코드,하지만 내 원래의 코드는 다음과 같은 일을 할)입니다 :
는float x = [@"2.45" floatValue];
for(int i=0; i<100; i++)
x += 0.22;
NSLog(@"%f", x);
출력은 52.450001하지 52.450000입니다!
나는 이런 일이 있기 때문에 잘 모르겠습니다!
도움 주셔서 감사합니다.
~ ~ 모두에게
덕분에 해결! 네, 더블 타입으로 해결했습니다!
hanno의 링크가이 문제를 설명합니다. 이 특별한 예제는 float 대신에 double을 사용하지 않았지만 동일한 기본 결함이 존재합니다. 하지만 – JimG
다른 숫자는 두 배가됩니다. 십진법을 시도하십시오. –