Цель C: проблема сравнения чисел - PullRequest
0 голосов
/ 16 мая 2011

Я пытаюсь реализовать фрагмент кода ниже.Однако я не могу получить ожидаемые результаты.Например, если моя 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]];
    }

Спасибо!

Zhen Hoe

1 Ответ

6 голосов
/ 16 мая 2011

Я полагаю, вы хотите сравнить с одним, а не с нулем.

В существующем состоянии вы проверяете, отрицателен ли ваш distanceFromLoc, что (по-видимому) никогда не происходит на обычном расстоянии. Вместо этого вам следует проверить, что вы ближе 1 км (т. Е. < 1), после чего вы можете умножить на 1000 и преобразовать в метры.

...