将 distanceFromLocation 转换为 Int
Convert distanceFromLocation to Int
我确信这个问题有一个明显的解决方案,但我已经尝试了一段时间不同的东西,但我无法弄清楚。基本上我得到了两点之间的距离,我正在尝试将它从 Double 转换为 Int(以删除所有小数点),但是我尝试过的一切都没有奏效。
这是我的代码:
let userLocation = CLLocation(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)
let annotationLocation = CLLocation(latitude: latitudePassed, longitude: longitudePassed)
var distance = CLLocationDistance(annotationLocation.distanceFromLocation(userLocation))
if distance > 1000 {
distance = distance / 1000
rideAnnotation.subtitle = "\(distance) kilometer(s)"
} else {
rideAnnotation.subtitle = "\(distance) meters"
}
我试过先转换为字符串,然后转换为 int,然后使用 toInt()
和其他一些方法转换为 int,但都没有成功。
有人有什么建议吗?
可能我遗漏了什么,但是 let distanceInt = Int(distance)
是否没有完全按照您的要求进行?
我确信这个问题有一个明显的解决方案,但我已经尝试了一段时间不同的东西,但我无法弄清楚。基本上我得到了两点之间的距离,我正在尝试将它从 Double 转换为 Int(以删除所有小数点),但是我尝试过的一切都没有奏效。
这是我的代码:
let userLocation = CLLocation(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)
let annotationLocation = CLLocation(latitude: latitudePassed, longitude: longitudePassed)
var distance = CLLocationDistance(annotationLocation.distanceFromLocation(userLocation))
if distance > 1000 {
distance = distance / 1000
rideAnnotation.subtitle = "\(distance) kilometer(s)"
} else {
rideAnnotation.subtitle = "\(distance) meters"
}
我试过先转换为字符串,然后转换为 int,然后使用 toInt()
和其他一些方法转换为 int,但都没有成功。
有人有什么建议吗?
可能我遗漏了什么,但是 let distanceInt = Int(distance)
是否没有完全按照您的要求进行?