2012-03-15 20 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

浮動小数点数が、その正確ではありませんので、あなたが代わりにfloatValuedoubleValueを呼び出すことにより、より高い精度を得ることができます。

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

これはcomponentsSeparatedByString:の問題ではありません。

+0

はい、あなたは正しいです、多くのありがとう –

1

を返す私は、フロートに文字列を変換する際に問題があると思います。ダブルを使用してみてください。