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

发布于 2024-11-07 18:26:04 字数 549 浏览 6 评论 0原文

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

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

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]];
    }

谢谢!

振和

I am trying to implement the code snippet below. However I am unable to get my expected results. For example if my disanceFromLoc = 0.16, I am still getting my output as 0.16 km.

Is there something wrong with the way I am comparing the value? object is of 'NSNumber' class (defined it as double in core data)

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]];
    }

Thanks!

Zhen Hoe

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄风 2024-11-14 18:26:04

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

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

I believe you mean to compare to one, not zero.

As it stands, you're checking if your distanceFromLoc is negative, which (presumably) never happens with a regular distance. Instead, you should be checking if you're closer than 1km (i.e. < 1), at which point you can multiply by 1000 and convert to meters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文