2013-10-07 73 views
0

我有一个具有1浮点值和4 nan值的NSMutableArray。如果数组对象是nan,我想执行一些操作。我如何写一个if条件?如何检查NSMutableArray对象是否包含NaN

+0

是否要检查数组是否包含任何对象!!! ???? – NiravPatel

+0

你是什么意思*“如果数组对象没有”*? –

+0

@MartinR对不起,勘误错误! –

回答

4

尝试isnan功能

迭代阵列,并且把检查

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

(不要忘记添加文件math.h库)

+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

做这样的事情:

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); 
相关问题