我正在开发一些代码,其中我使用扫描程序从字符串中获取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

有帮助吗?

解决方案

使用" value" NSNumber类的方法,例如 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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top