2009-12-08 12 views
1

확인 가능한있는 NSString에서 NaN이 반환되고, 그래서 나는있는 NSString에에서있는 NSString을 당기고있는 NSMutableArray하고 저장하고 :있는 NSString -있는 doubleValue은

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

이는-루프에 대해 서로 다른 부부의 내부에 싸여있다. 그런 다음 doubleValue로 변환하고 숫자에 저장하지만 분명히 [entry doubleValue]는 숫자 대신 NaN 만 반환합니다. NSLog에서 'entry'와 '[entry doubleValue]'를 던졌습니다. 나는 이것을 실행할 때마다 동일한 결과를 얻습니다 :

entry: 22.414 value: nan 

아이디어가 있습니까? 감사!

당신이 할 수 entry

가장 쉬운 방법으로는 공백이나 인쇄되지 않는 문자가없는 것을 확인하기 위해 확인 할 수

답변

1

이 없습니다 문자열에있는 문자는 NSScanner 클래스를 살펴보십시오. 보통 문자열을 읽는 것이 더 효과적입니다.

3

: 다른 특정 경우

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

네, 아마 일부 비 인쇄 문자라고 말할 수 있습니다. 이것은 나를 위해 잘 작동 :

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

그것은있을 수 있습니다, 로케일는 쉼표 대신 소수점 구분자로 점의 예를 들어 사용하고 있다고 말했습니다 위치를 시스템 언어를 설정했는지. 이것이 double 값으로 발생하는지는 모르겠지만 NSNumberFormater에 문제가 있습니다.