Comment convertir des objets NSNumber à des fins de calcul?
-
05-07-2019 - |
Question
Je développe un code dans lequel j'utilise un scanner pour obtenir des numéros de série à partir d'une chaîne, disons x et y.
Maintenant, je veux calculer quelque chose de simple à partir de x et y, disons, z = 10.0 / (x + y / 60.0) / 60.0). Je ne peux pas le faire directement, car le compilateur n'aime pas la symbologie arithmétique ordinaire appliquée aux objets numériques.
J'ai donc essayé de définir xD et yD, de type double, puis une conversion de type
xD = (double) x; yD = (double) y;
mais cela donne aussi une erreur de compilation. Comment obtenir des objets NSNumber convertis pour être utilisés dans des expressions arithmétiques ordinaires? J'ai parcouru une quantité considérable de documents et je n'ai pas trouvé de réponse.
Merci d'avance pour votre aide.
John Doner
La solution
Utilisez la " valeur " des méthodes de la classe NSNumber, telles que doubleValue
.
// Initialized to something earlier
NSNumber * x, y;
//Convert NSNumbers to double
double xD = [x doubleValue];
double yD = [y doubleValue];
// You can now use regular arithmetic operators
double zD = 10.0 / ((x + y / 60.0) / 60.0);