J'ai un petit problème et je ne trouve pas de solution!Problème avec les flotteurs dans Objective-C
Mon code est (c'est seulement un exemple de code, mais mon code d'origine quelque chose comme ça):
float x = [@"2.45" floatValue];
for(int i=0; i<100; i++)
x += 0.22;
NSLog(@"%f", x);
la sortie est 52,450001 et non 52,450000!
Je ne sais pas parce que cela arrive!
Merci pour toute aide!
~ ~ SOLVED
Merci à tous! Oui, j'ai résolu avec le double type!
Le lien de Hanno explique le problème. Cet exemple particulier ne se produirait pas avec un double au lieu d'un flottant, mais le même défaut de base existe. – JimG
Double cassera pour d'autres nombres, cependant. Essayez décimal. –