NSNumber de CGFloat

Est-il un moyen sûr de "convertir" un CGFloat à un NSNumber ?

NSNumber a la numberWithFloat: et numberWithDouble: méthodes mais CGFloat étant défini comme float ou double selon la plate-forme, il semble risqué de les utiliser soit l'un d'entre eux.

Ou est numberWithDouble: de sécurité à utiliser avec un CGFloat, car il est celui avec le plus de précision ?

Si vous avez une assez haute compilateur version, il suffit d'écrire @(myNumber) et il sera résolu au moment de la compilation. Cependant, vous pouvez appeler en toute sécurité [NSNumber numberWithDouble: myNumber], si CGFloat est défini à double vous le faites correctement, CGFloat est défini à flotteur vous n'avez pas encore perdu toute précision.
coffre-fort? pouvez-vous expliquer?
sûr que "sans précision perte". Est-ce pourquoi j'ai été downvoted ?
Je baisse voté parce que à mon humble avis, vous êtes un peu plus de réflexion. C est plein de fonctions que la poignée doubles, elle n'est pas remplacée à travailler également avec des flotteurs simplement parce que si vous passez un flotteur au lieu d'un double rien de nuisible peut arriver. Il va juste être implicitement coulé à un double, qui utilise une précision supplémentaire.
Si vous êtes à la manipulation de l'argent, vous pouvez envisager d'utiliser un point fixe ou représentation décimale. Voir NSDecimal et NSDecimalNumber.

OriginalL'auteur Guillaume Algis | 2013-06-12