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

Swift 2 错误,转换为 JSON

将“NSNumber *__strong”发送到不兼容类型“CLLocationDegrees”(又名“double”)的参数

CLLocationDegrees 返回 0 尽管它有一个值

如何修复:无法将“CLLocationDegrees”(又名“Double”)类型的值分配给“Float!”在斯威夫特 3

快速计算地图的距离和预计到达时间