我正在开发一些代码,其中我使用扫描程序从字符串中获取NSNumbers,比如x和y。
现在我想从x和y计算一些简单的东西,比如z = 10.0 /(x + y / 60.0)/60.0)。我不能直接这样做,因为编译器不喜欢应用于数字对象的普通算术符号。
所以,我尝试定义类型为double的xD和yD,然后尝试了类型转换
xD =(double)x; yD =(double)y;
但是这也会产生编译错误。如何将NSNumber对象转换为在普通算术表达式中使用?我做了大量的文献浏览,但没有找到答案。
提前感谢您的帮助。
John Doner
答案 0 :(得分:32)
使用NSNumber类的"value" methods,例如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);