2010-03-20 6 views

Répondre

0

Les flotteurs sont inexacts, utilisez des doubles. De plus que vous utilisez Objective C et pas droit C il pourrait être préférable si vous utilisez des fonctions Objectif C pour cela:

myNumber = [NSNumber numberWithDouble:151.185436]; 
NSLog(@"myNumber = %@", myNumber); 
+1

Les deux flotteurs et les doubles sont "inexacts" - c'est juste une question de degré. –

2

Un flotteur ne peut contenir que 32 bits (4 octets) d'informations sur votre numéro - il ne peut pas stocker autant de décimales que vous le souhaitez. 151.18544 est aussi proche de votre valeur que le flottant pourrait représenter sans manquer de bits.

Pour la précision que vous voulez, vous devez utiliser un double au lieu d'un flotteur.

Questions connexes