2011-05-16 4 views
0

아래 코드 스 니펫을 구현하려고합니다. 그러나 나는 나의 기대 한 결과를 얻을 수 없다. 예를 들어 disanceFromLoc = 0.16이라면 출력을 0.16km로 늘릴 수 있습니다.목표 C : 숫자 사이의 비교 문제

값을 비교하는 방식에 문제가 있습니까? 객체가 '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]]; 
    } 

고마워요!

젠 괭

답변

6

나는 당신이 0이 아닌 1과 비교한다는 것을 의미한다고 생각합니다.

distanceFromLoc이 음수인지 확인하고있는 중입니다. 정규 거리에서는 발생하지 않는 것으로 추정됩니다. 대신 1km (즉, < 1)보다 가까운 지 확인해야합니다.이 시점에서 1000을 곱하여 미터로 전환 할 수 있습니다.

+0

감사합니다. 어리석은 실수입니다. 감사! – Zhen