componentsSeparatedByString返回错误的结果

时间:2012-03-15 08:21:36

标签: iphone ios xcode nsstring

我使用此代码剪切字符串

    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

2 个答案:

答案 0 :(得分:7)

由于浮点数不准确,因此您可以通过调用doubleValue代替floatValue来获得更高的准确度:

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

这不是componentsSeparatedByString:的问题。

答案 1 :(得分:1)

我认为将字符串转换为float存在问题。尝试使用double。