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

Foi útil?

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top