Conception-sage, vous devriez essayer d'éviter de convertir NSDecimalNumber ou NSDecimals et de int, float et double des valeurs pour les mêmes raisons, il est recommandé de les utiliser NSDecimalNumbers: perte de précision et de binaire à virgule flottante problèmes de représentation. Je sais que, parfois, il est inévitable (la prise d'entrée à partir d'un curseur, faire des calculs trigonométriques, etc.), mais vous devriez essayer de prendre une entrée par les utilisateurs comme NSStrings et ensuite utiliser initWithString:paramètres régionaux: ou decimalNumberWithString:locale: pour générer le NSDecimalNumbers. Pour toutes vos maths avec le NSDecimalNumbers et le retour de leur représentation à des utilisateurs ou de les enregistrer pour SQLite (ou partout où) que leur chaîne de description à l'aide de descriptionWithLocale:.
Si vous avez d'entrée à partir d'un int, float ou double, vous pourriez faire quelque chose comme ce qui suit:
int myInt = 3;
NSDecimalNumber *newDecimal = [NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%d", myInt]];
ou vous pourriez suivre Ashley suggestion pour vous assurer que vous êtes en sécurité dans les décimales de la construction.