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

È stato utile?

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top