如何转换NSNumber对象用于计算目的?

Joh*_*ner 13 nsnumber

我正在开发一些代码,其中我使用扫描程序从字符串中获取NSNumbers,比如x和y.

现在我想从x和y计算一些简单的东西,比如z = 10.0 /(x + y/60.0)/60.0).我不能直接这样做,因为编译器不喜欢应用于数字对象的普通算术符号.

所以,我尝试定义类型为double的xD和yD,然后尝试进行类型转换

xD =(double)x; yD =(double)y;

但这也给出了编译错误.如何将NSNumber对象转换为在普通算术表达式中使用?我做了相当多的文献浏览,但没有找到答案.

在此先感谢您的帮助.

约翰多纳

Ben*_*n S 33

使用NSNumber类的"value"方法,例如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);
Run Code Online (Sandbox Code Playgroud)