我在CLLocationDistance类型的变量中有距离,我需要将它转换为整数变量,我该怎么做呢
我有用处
CLLocationDistance kilometers;
int distance = [kilometers intValue];但它给出了错误。
帮助那些家伙
发布于 2011-02-03 23:48:07
distanceFromLocation:返回从接收者的位置到指定位置的距离(以米为单位)。
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location参数
位置另一个位置。
返回值两个位置之间的距离(米)。
返回类型不是int,而是double。而且它也不是NSNumber。
发布于 2015-08-10 17:36:30
这将使用CLLocationDistance计算两个位置之间的距离。默认情况下,它以米为单位给出值。要转换为千米,请将CLLocationDistance/1000.0除以。为了得到里程数乘以CLLocationDistance*0.62137。
//Pass your current location Latitude and longitude
CLLocation *currentlocation = [[CLLocation alloc] initWithLatitude:13.015370f longitude:80.200393f];
//Pass your destination location Latitude and longitude
CLLocation *destination = [[CLLocation alloc] initWithLatitude:37.420948f longitude:-122.09578499999998f];
CLLocationDistance meters = [currentlocation distanceFromLocation:destination];
//get distance in meters
NSLog(@"meters :%f", meters);
//get distance in kilometers
CLLocationDistance kilometers = meters / 1000.0;
NSLog(@"kilometers :%f", kilometers);
//Get distance in miles
NSLog(@"Miles:%f",kilometers*0.62137);
//convert kilometers to int value
int num=kilometers;发布于 2018-07-05 22:18:41
从iOS 10开始,有了一个新的Measurement类,它使得转换距离变得轻而易举。
下面是一个转换距离的扩展:
extension Double {
func convert(from originalUnit: UnitLength, to convertedUnit: UnitLength) -> Double {
return Measurement(value: self, unit: originalUnit).converted(to: convertedUnit).value
}
}示例用法:
let miles = 1.0
let metersInAMile = miles.convert(from: .miles, to: .meters)
let mileInFeet = 5280.0
let feetInAMile = mileInFeet.convert(from: .feet, to: .miles)
let marathonInFeet = 138_435.0
let milesInMarathon = marathonInFeet.convert(from: .feet, to: .miles)
let kmInMarathon = marathonInFeet.convert(from: .feet, to: .kilometers)
let inch = 1.0
let centimetersInInch = inch.convert(from: .inches, to: .centimeters)https://stackoverflow.com/questions/4888200
复制相似问题