Como converter objetos NSNumber para fins computacionais?
-
05-07-2019 - |
Pergunta
Eu um desenvolvimento algum código em que eu usar um scanner para chegar ao NSNumbers de uma corda, dizer x e y.
Agora eu quero simples algo de computação de x e y, digamos, z = 10,0 / (x + y / 60,0) /60.0). Eu não posso fazer isso diretamente, uma vez que o compilador não gosta simbologia aritmética comum aplicado a objetos de número.
Então, eu tentei definir xD e yD, do tipo double, e depois tentou uma conversão de tipo
xD = (duplo) x; R = (duplo) Y;
mas que também dá um erro de compilação. Assim como faz um começar NSNumber objetos convertido para ser usado em expressões aritméticas comuns? Eu fiz navegação considerável da literatura, e não encontrou a resposta.
Agradecemos antecipadamente por qualquer ajuda.
John Doner
Solução
Use o "valor" métodos da classe NSNumber como 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);