2013-10-07 6 views
0

1 float 값과 4n 값을 가진 NSMutableArray가 있습니다. 배열 객체가 nan 인 경우 일부 작업을 실행하려고합니다. if 조건을 작성하려면 어떻게해야합니까?NSMutableArray 객체에 NaN이 포함되어 있는지 확인하는 방법

+0

배열에 개체가 포함되어 있는지 여부를 확인 하시겠습니까? – NiravPatel

+0

* "배열 객체가 없음"이라는 것은 무엇을 의미합니까 *? –

+0

@MartinR 죄송합니다, 실수를 정정하십시오! –

답변

4

확인 배열을 반복 기능 때는 isNaN

을 시도하고 넣어

isnan([[Array objectAtIndex:i] floatValue])

+0

맞습니다, 바로 잡으십시오 – BaSha

+0

isnan ([[array objectAtIndex : i] floatValue])는 매력처럼 작동했습니다! math.h 임포트없이. –

1
NSNumber *num = //your number; 
float value = [num floatValue]; 
if (isnan(value)) 
{ 
    NSLog(@"is nan"); 
} 
1

이 같은 것을 할 (math.h 라이브러리를 추가하는 것을 잊지 말아) :

NSMutableArray *array = [[NSMutableArray alloc] init]; 
[array addObject:[NSNumber numberWithFloat:1.0]]; 
[array addObject:[NSNull null]]; 
[array addObject:[NSNull null]]; 
[array addObject:[NSDecimalNumber notANumber]]; 


BOOL foundNull = NO; 
for (id value in array) { 
    if (!value || value == [NSNull null]) { 
     foundNull = YES; 
    } else if ([value isKindOfClass:[NSDecimalNumber class]]) { 
     if ([value isEqualToNumber:[NSDecimalNumber notANumber]]) { 
      foundNull = YES; 
     } 
    } 
} 

NSLog(@"Found null/NaN: %i", foundNull); 
관련 문제