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

发布于 2024-08-12 16:38:24 字数 337 浏览 7 评论 0 原文

我正在开发一些代码,其中我使用扫描仪从字符串(例如 x 和 y)获取 NSNumbers。

现在我想根据 x 和 y 计算一些简单的值,例如 z = 10.0/(x + y/60.0)/60.0)。我无法直接执行此操作,因为编译器不喜欢应用于数字对象的普通算术符号系统。

因此,我尝试定义 double 类型的 xD 和 yD,然后尝试类型转换

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

但这也会产生编译错误。到底如何将 NSNumber 对象转换为在普通算术表达式中使用呢?我查阅了大量文献,但没有找到答案。

预先感谢您的任何帮助。

约翰·多纳

I an developing some code in which I use a scanner to get to NSNumbers from a string, say x and y.

Now I want to compute something simple from x and y, say, z = 10.0/(x + y/60.0)/60.0). I can't do this directly, since the compiler doesn't like ordinary arithmetic symbology applied to number objects.

So, I tried defining xD and yD, of type double, and then tried a type conversion

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

but that also gives a compile error. Just how does one get NSNumber objects converted to be used in ordinary arithmetic expressions? I did considerable browsing of the literature, and didn't find the answer.

Thanks in advance for any help.

John Doner

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

救星 2024-08-19 16:38:24

使用 "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);

Use the "value" methods of the NSNumber class such as 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文