Premier message ici. Avoir un problème avec la méthode floatValue de NSNumber - en quelque sorte, il renvoie un nombre imprécis. Voici le problème: je stocke un tas de NSNumbers dans un tableau, comme ceci:NSNumber floatValue différent de NSNumber value
NSArray *a = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.04f],
[NSNumber numberWithFloat:0.028f],
[NSNumber numberWithFloat:0.016f],
[NSNumber numberWithFloat:0.004f],
nil];
Alors je tente de récupérer la première valeur (par exemple): NSNumber n = (NSNumber) [a objectAtIndex: 0]; CGFloat f = [n floatValue];
Dans le débogueur, n affiche une valeur de 0,04 (dans la colonne de résumé), mais f affiche une valeur de 0,0399999991. Qu'est-ce que je fais mal ici?
Merci à tous.
Ça éclaircit, merci. En d'autres termes, ne faites jamais == des comparaisons avec des flottants sauf si vous les arrondissez en premier. Merci. – Mirkules