objective-c - Objective-C : Comparison issue between numbers

标签 objective-c ios comparison nsnumber

我正在尝试实现下面的代码片段。但是我无法获得预期的结果。例如,如果我的 disanceFromLoc = 0.16,我得到的输出仍然是 0.16 公里。

我比较值(value)的方式有问题吗?对象属于“NSNumber”类(在核心数据中将其定义为 double)

if ([object.distanceFromLoc doubleValue] < 0)
    {
        cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"Approx. Distance: %0.2f m", [object.distanceFromLoc doubleValue]*1000];
    }
    else 
    {
        cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"Approx. Distance: %0.2f km", [object.distanceFromLoc doubleValue]];
    }

谢谢!

郑和

最佳答案

我相信您的意思是与一进行比较,而不是与零进行比较。

就目前而言,您正在检查您的 distanceFromLoc是负的,这(大概)永远不会发生在常规距离上。相反,您应该检查距离是否小于 1 公里(即 < 1 ),此时您可以乘以 1000 并转换为米。

关于objective-c - Objective-C : Comparison issue between numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013583/

相关文章:

ios - 尝试设置类标签属性时获取 Nil | UI表格 View

audio - 在不同的音频文件中搜索相同的短样本

java - 在 Java 中如何查找两个列表的相似程度?

比较 int 与 long 和其他

ios - UITableView - 与表格 View 的交互消失了一切

iOS 静态库不起作用

objective-c - `.A`中的 `libobjc.A.dylib`是什么

iphone - "Gallery"app在IOS中分享 View

ios - 计划的本地通知在切换为 ON 的时间段内显示,切换为 OFF

objective-c - 如何检测 objective-c 中的文本文件编码?