iOS-将经纬度转化成度分秒格式

来源:互联网 发布:台球厅计费软件 编辑:程序博客网 时间:2024/05/21 15:13

在实际地图相关开发中,地图添加大头针或者定位往往是后台返回给我们经纬度信息,但是后台返回的JSON解析完后,多数情况下,经纬度都是NSString类型


但是当需要把经纬度显示在界面上面时候时,就需要我们做一些处理了,需求如下


上代码:

- (void)viewDidLoad {    [super viewDidLoad];        /** 后台返回纬度或经度字符串 */    NSString *latString = @"123.456789";    /** 调用将经纬度转化成度分秒的方法 */    NSString *str = [self stringWithCoordinateString:latString];    NSLog(@"%@", str);}

/** 经纬度转换成度分秒格式 */- (NSString *)stringWithCoordinateString:(NSString *)coordinateString{    /** 将经度或纬度整数部分提取出来 */    int latNumber = [coordinateString intValue];        /** 取出小数点后面两位(为转化成'分'做准备) */    NSArray *array = [coordinateString componentsSeparatedByString:@"."];    /** 小数点后面部分 */    NSString *lastCompnetString = [array lastObject];        /** 拼接字字符串(将字符串转化为0.xxxx形式) */    NSString *str1 = [NSString stringWithFormat:@"0.%@", lastCompnetString];        /** 将字符串转换成float类型以便计算 */    float minuteNum = [str1 floatValue];        /** 将小数点后数字转化为'分'(minuteNum * 60) */    float minuteNum1 = minuteNum * 60;        /** 将转化后的float类型转化为字符串类型 */    NSString *latStr = [NSString stringWithFormat:@"%f", minuteNum1];        /** 取整数部分即为纬度或经度'分' */    int latMinute = [latStr intValue];        /** 将经度或纬度字符串合并为(xx°xx')形式 */    NSString *string = [NSString stringWithFormat:@"%d°%d'", latNumber, latMinute];        return string;}

结果:

转化后的经纬度是123°27'






1 0
原创粉丝点击