CLLocationDegrees 到 Swift 中的字符串变量
Posted
技术标签:
【中文标题】CLLocationDegrees 到 Swift 中的字符串变量【英文标题】:CLLocationDegrees to String variable in Swift 【发布时间】:2014-10-01 13:22:17 【问题描述】:鉴于代码
var latitude = userLocation.coordinate.latitude
返回一个 CLLocationDegrees 对象,如何将值存储到变量中,以便将其作为标签文本应用。
我可以毫无问题地将变量打印到控制台,但显然这对我没有太大帮助!
通过自动完成查看有价值的选项,我看到有描述;
var latitude = userLocation.coordinate.latitude.description
但这会让我返回 null 吗?
谢谢
【问题讨论】:
***.com/questions/29466405/… 【参考方案1】:由于 CLLocationDegrees 只是 Double 的 typedef,因此您可以轻松地将其分配给字符串 var,即:
var latitudeText:String = "\(userLocation.coordinate.latitude)"
【讨论】:
注意:显式类型定义只是可选的,没有它的赋值也可以工作 这是此页面上最简单的解决方案。也适用于:var lat = "\(result.location.coordinate.latitude)"
无法转换“CLLocationDegrees”类型的值?到指定类型'String'【参考方案2】:
let latitudeText = String(format: "%f", userLocation.coordinate.latitude)
根据您的需要设置格式参数。
【讨论】:
【参考方案3】:这里没有什么对我有用。我得到的最接近的是纬度值的“可选(37.8)”,我认为因为 CLLocationCoordinate2D 是一个可选的类参数。这是我最终得到一个纯字符串的方法:
let numLat = NSNumber(double: (self.myLocation?.latitude)! as Double)
let stLat:String = numLat.stringValue
【讨论】:
【参考方案4】:var lat = userLocation.coordinate.latitude
var latData = String(stringInterpolationSegment: lat)
【讨论】:
一般来说,答案如果包含对代码的用途以及解决问题的原因的解释会更有帮助。【参考方案5】:您可以使用以下代码将其转换为字符串:
var oneString = String(userLocation.coordinate.latitude)
【讨论】:
这很好用。只要确保你没有传递一个可选的,用户位置通常是。以上是关于CLLocationDegrees 到 Swift 中的字符串变量的主要内容,如果未能解决你的问题,请参考以下文章
如何将字符串转换为 CLLocationDegrees Swift 2
将“NSNumber *__strong”发送到不兼容类型“CLLocationDegrees”(又名“double”)的参数
CLLocationDegrees 返回 0 尽管它有一个值
如何修复:无法将“CLLocationDegrees”(又名“Double”)类型的值分配给“Float!”在斯威夫特 3