2012-03-15 3 views
4

나는 문자열componentsSeparatedByString 반환 잘못된 결과

NSString *titleString = @"22.225453615805794,113.554006577014889"; 
    NSArray *array = [titleString componentsSeparatedByString:@","]; 
    NSLog(@"title string %@", titleString); 
    NSLog(@"first %.15f", [[array objectAtIndex:0] floatValue]); 
    NSLog(@"second %.15f", [[array objectAtIndex:1] floatValue]); 

컷이 코드를 사용하지만, 왜

22.225454330444336 및 113.554008483886719

답변

7

, 당신은 doubleValue 대신 floatValue를 호출하여 높은 정밀도를 얻을 수 있습니다 :

NSLog(@"second %.15f", [[array objectAtIndex:1] doubleValue]); 

componentsSeparatedByString: 문제가 아닙니다.

+0

네, 맞습니다, 많은 감사합니다. –

1

내가 플로트로 문자열을 변환에 문제가 있다고 생각을 반환합니다. double을 사용해보십시오. 부동 소수점 숫자가 정확하지 않습니다 때문에