Zhe*_*hen 0 comparison objective-c nsnumber ios
我正在尝试实现下面的代码段.但是我无法得到预期的结果.例如,如果我的disanceFromLoc = 0.16,我的输出仍然是0.16 km.
我比较价值的方式有问题吗?object是'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]];
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
真鹤
我相信你的意思是比较一个,而不是零.
就目前而言,你正在检查你distanceFromLoc是否是负面的,这可能(通常)在常规距离内不会发生.相反,你应该检查你是否接近1公里(即< 1),此时你可以乘以1000并转换为米.