objective-c - 比较 Objective C 中的 NSNumbers

标签 objective-c nsnumber

我是 Objective-C 的初学者,我对这种情况有点困惑。我有以下代码:

if (number1 < number2) {
    NSLog(@"THE FOLLOWING NUMBER ");
    NSLog(@"%@", number1);
    NSLog(@"IS LESS THAN");
    NSLog(@"%@", number2);
}

当我运行这段代码时,我看到了这样奇怪的结果:

2011-07-06 20:38:18.044 helloworld[1014:207] THE FOLLOWING NUMBER 
2011-07-06 20:38:18.047 helloworld[1014:207] 190.8776
2011-07-06 20:38:18.050 helloworld[1014:207] IS LESS THAN
2011-07-06 20:38:18.053 helloworld[1014:207] 96.75866

这两个数字都是 NSNumber 对象,怎么会发生这样的事情呢?我通过查找屏幕上 Sprite 之间的距离来获得这两个数字。

任何线索或建议将不胜感激

最佳答案

我假设 number1 和 number2 是指向对象的指针。 < 符号正在比较指针。

你需要比较实际的floatValue或doubleValue

if ([number1 doubleValue] < [number2 doubleValue]) 

....

关于objective-c - 比较 Objective C 中的 NSNumbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6605262/

相关文章:

ios - 如何使用 HyprMX

ios - 如何遍历 NSDictionaries 和 NSArrays 的嵌套层次结构并将其全部转换为可变副本?

ios - Swift 3.0 - NSNumber 和 Int 不能应用于操作数

ios - 使用 isEqualToNumber 方法比较两个 NSNumber

iphone - 如何解决 NSNumberFormatter 2,147,483,647 问题

ios - 从 String Swift 2 Issue 获取数字

ios - 如果我要复制 NSObject 子类,是否需要复制其类型 "UIViewAnimationOptions"和 BOOL 类型的属性?如果是这样,怎么办?

ios - 在 Xcode 7.2 中哪里可以找到应用程序加载器

ios - 点击按钮时折叠表格行

ios - 使用 NSNumber 和 NSUserDefaults 做一个简单的计算