Come convertire gli oggetti NSNumber a fini computazionali?
-
05-07-2019 - |
Domanda
Sto sviluppando un codice in cui uso uno scanner per accedere a NSNumbers da una stringa, ad esempio xey.
Ora voglio calcolare qualcosa di semplice da xey, diciamo, z = 10.0 / (x + y / 60.0) /60.0). Non posso farlo direttamente, dal momento che al compilatore non piace la normale simbologia aritmetica applicata agli oggetti numerici.
Quindi, ho provato a definire xD e yD, di tipo double, e poi ho provato una conversione di tipo
xD = (doppio) x; yD = (doppio) y;
ma questo dà anche un errore di compilazione. Come si ottengono gli oggetti NSNumber convertiti per essere utilizzati nelle normali espressioni aritmetiche? Ho esplorato molto la letteratura e non ho trovato la risposta.
Grazie in anticipo per qualsiasi aiuto.
John Doner
Soluzione
Utilizza " valore " metodi della classe NSNumber come 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);