我有一些坐标,我用以下代码转换成一个字符串:
label3.text = [NSString stringWithFormat:@"%f%f",
venue.location.coordinate.latitude,
venue.location.coordinate.longitude];
但是,我现在想要将字符串转换回lat和long坐标。我该怎么做?
答案 0 :(得分:1)
您不能这样做,因为您的代码没有在值之间提供分隔符。因此,你无法弄清楚是否有一个字符串
12.3456.78
是下面的一对:
12.3 456.78
12.34 56.78
12.345 6.78
12.3456 .78
为了使转换可逆,请使用@"%f %f"
格式(带空格)。现在,您可以使用许多不同的方法从字符串中解析数据 - 例如,sscanf
:
float lat, lon;
sscanf([label3.text UTF8String], "%f %f", &lat, &lon);
答案 1 :(得分:0)
如果您使用分隔符分隔浮点数,请执行以下操作:
label3.text = [NSString stringWithFormat:@"%f;%f",
venue.location.coordinate.latitude,
venue.location.coordinate.longitude];
然后
CGPoint yourPoint=CGPointMake((NSString*)([[label3.text componentsSeparatedByString:@";"]
firstObject]).floatValue,(NSString*)([[label3.text componentsSeparatedByString:@";"] lastObject]).floatValue)
//yourPoint.x is latitude, yourPoint.y is longitude