将字符串转换为核心位置
Posted
技术标签:
【中文标题】将字符串转换为核心位置【英文标题】:convert string to core location 【发布时间】:2014-03-20 14:31:47 【问题描述】:我将纬度和经度值作为字符串并希望将其转换为核心定位。我的主要意图是计算用户当前位置(由设备返回)与服务器返回的位置之间的距离。
calculate distance using lat and long..这篇文章帮助我找到了两个位置之间的距离。
以下哪个是最好的方法?
-
我是否应该并计算距离
或
我是否应该将设备位置转换为字符串并计算距离。
【问题讨论】:
你怎么可能通过转换为字符串来计算距离? @Merlevede 我没有。但这里是link 说明拒绝投票的原因会有很大帮助。另外请记住,不是每个人都是专家,可能会有一些基本问题,原因可能是用户无法正确搜索(使用正确的关键字)以获得结果。 【参考方案1】:像这样创建和对象:
CLLocation *locA = [[CLLocation alloc] initWithLatitude:lat1 longitude:long1];
lat1 / long2 的类型为CLLocationDegrees
,它是一个双精度类型定义,表示以度为单位的点。
将您的 lat / long 转换为双精度并传递它们,如下所示:
CLLocation *locA = [[CLLocation alloc] initWithLatitude:[@"" doubleValue] longitude:[@"" doubleValue] ];
上面的代码在你链接的例子中,你可以很容易地用谷歌搜索这个对象,它会把你带到在线文档。
编辑:
根据 Volker 的建议,如果您从服务器获取数字,则可能存在本地化问题,其中一些本地使用小数:46.000
,而其他使用逗号 46,000
。
这样的东西会更好:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
NSNumber *temp = [formatter numberFromString:@""];
[temp doubleValue];
【讨论】:
注意字符串是否包含本地化数字,例如使用“,”作为小数分隔符。最好使用数字格式化程序来获取双精度值。 @Volker 完全正确,我完全忘记了。编辑后的答案,我相信这是正确的代码吗? @SimonMcLoughlin 和 Volker 非常感谢您。这对我有帮助。以上是关于将字符串转换为核心位置的主要内容,如果未能解决你的问题,请参考以下文章
请编写一个程序将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。