我使用此代码剪切字符串
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
答案 0 :(得分:7)
由于浮点数不准确,因此您可以通过调用doubleValue
代替floatValue
来获得更高的准确度:
NSLog(@"second %.15f", [[array objectAtIndex:1] doubleValue]);
这不是componentsSeparatedByString:
的问题。
答案 1 :(得分:1)
我认为将字符串转换为float存在问题。尝试使用double。