我有一个具有 1 个浮点值和 4 个 nan 值的 NSMutableArray。如果数组对象是nan,我想执行一些操作。如何编写 if 条件?
问问题
399 次
4 回答
4
试试isnan函数
迭代你的数组并检查
isnan([[Array objectAtIndex:i] floatValue])
(不要忘记添加 math.h 库)
于 2013-10-07T11:09:12.060 回答
1
NSNumber *num = //your number;
float value = [num floatValue];
if (isnan(value))
{
NSLog(@"is nan");
}
于 2013-10-07T11:12:20.967 回答
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);
于 2013-10-07T11:20:39.030 回答
0
你也可以使用
[NSDecimalNumber notANumber]方法来比较和检查这是否是一个有效的数字。
于 2013-10-07T11:29:11.757 回答