好的,所以我从NSMutableArray中提取NSString并将其存储在NSString中:
entry = [NSString stringWithString:[array objectAtIndex:row]];
这包含在几个不同的for循环中。然后我将它转换为doubleValue并将其存储在一个数字中,但显然[entry doubleValue]只返回一个NaN而不是一个数字。我在NSLog中输入'entry'和'[entry doubleValue]'。每次我运行这个我得到相同的结果:
entry: 22.414 value: nan
有什么想法吗?谢谢!
答案 0 :(得分:3)
您可以检查以确保entry
最简单的方法:
NSLog(@"%@", [entry dataUsingEncoding:NSUTF8StringEncoding]);
答案 1 :(得分:2)
NSString *test = @"22.414";
NSLog(@"doubleValue: %f", [test doubleValue]);
答案 2 :(得分:1)
如果您确定字符串中没有任何其他字符,请查看NSScanner
类。它通常在阅读字符串方面做得更好。
答案 3 :(得分:1)
可能是,您设置了一种系统语言,其中区域设置表示您正在使用例如逗号而不是点作为十进制分隔符。我不知道这是否会发生双重值,但我遇到了NSNumberFormater的问题。