2009-12-08 25 views
1

好返回NaN的,所以我從拉一個NSString和NSMutableArray中並將其存儲在一個NSString:的NSString - 的doubleValue從一個可行的NSString

entry = [NSString stringWithString:[array objectAtIndex:row]]; 

這是包裹for循環不同的一對夫婦的內部。然後我將它轉換爲doubleValue並將其存儲在一個數字中,但顯然[entry doubleValue]僅返回NaN而不是數字。我在NSLog中輸入'entry'和'[entry doubleValue]'。每次我運行這個我得到相同的結果:

entry: 22.414 value: nan 

任何想法?謝謝!

回答

1

如果您確定沒有任何其他字符串中的字符,請看NSScanner類。閱讀字符串通常會做得更好。

3

你可能要檢查,以確保你沒有空格或不可打印的字符在做這個entry

最簡單的方法:

NSLog(@"%@", [entry dataUsingEncoding:NSUTF8StringEncoding]); 
2

是的,我會說這可能是一些非打印字符。這對我來說工作得很好:

NSString *test = @"22.414"; 
NSLog(@"doubleValue: %f", [test doubleValue]); 
1

它可能是,在現場說,你正在使用逗號而不是一個點作爲小數分隔符,例如,您是否設置了系統的語言。我不知道這是否會發生雙重價值,但我遇到了NSNumberFormater的問題。