因此,我尝试使用distanceFromLocation并将其显示为“8英里”或“1.5英里”,但我最终得到的是“93129432英里”。请参阅内联注释,了解它出错的地方。
double roundDouble = round(returnedDouble);
NSNumber *mylngDoubleNumber = [NSNumber numberWithDouble:roundDouble];
if(latDouble == 0 || lngDouble == 0 || roundDouble == 0){
NSString *str = [NSString stringWithFormat:@"0 mi."];
self.distance.text = str;
}else {
NSString *lngDoubleString = [mylngDoubleNumber stringValue]; <-- ok here '98'
NSString *str = [NSString stringWithFormat:@"%d mi.",lngDoubleString]; <-- bad here '93129432'
self.distance.text = str;
}
答案 0 :(得分:3)
您的格式不正确。 %d与整数一起使用。 %f用于浮动和双打。看看这个问题:Limit a double to two decimal places
编辑:再次读取代码,不能格式化字符串。你需要格式化双精度。
答案 1 :(得分:0)
它应该是[NSString stringWithFormat:@"%@ mi", lngDoubleString];
,因为您正在格式化字符串。