目标C:数字之间的比较问题

时间:2011-05-16 05:41:45

标签: objective-c ios comparison nsnumber

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

谢谢!

Zhen Hoe

1 个答案:

答案 0 :(得分:6)

我相信你的意思是比较一个,而不是零。

目前,你正在检查你的distanceFromLoc是否为负数,这可能(通常)在常规距离内不会发生。相反,你应该检查你是否接近1公里(即< 1),此时你可以乘以1000并转换为米。