Dans mon code, j'utilise float pour calculer les devises, mais l'arrondi a donné des résultats non désirés, donc j'essaye de tout convertir en int. Avec aussi peu de changements à l'infrastructure que possible, dans mes fonctions d'initialisation, je l'ai fait:iPhone/C: Pourquoi convertir float en int: (int) float * 100 ne fonctionne pas?
-(id)initWithPrice:(float)p;
{
[self setPrice:(int)(p*100)];
}
je multiplie par 100 b/c dans la section principale, les valeurs sont données à titre .xx à 2 décimales. Je remarque anormalement que pour float 1.18, l'int arrondit à 117. Est-ce que quelqu'un le sait? Le flotteur le laisse comme 1.18. Je m'attends à ce que ce soit 118 pour l'équivalent en cents.
Merci.
Si possible, j'essayerais d'utiliser NSDecimalNumber au lieu de floats pour stocker des valeurs de devise. – GriffeyDog