我正在尝试实现下面的代码片段。但是我无法获得预期的结果。例如,如果我的 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/