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

Était-ce utile?

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top