GPS坐标转换ddmm.mmmm(度分)-> dd.dddd(度)
来源:互联网 发布:adobe cc mac 注册机 编辑:程序博客网 时间:2024/04/30 20:27
#include <stdio.h>#include <string.h>#include <stdlib.h>int ddmm2dd(const char *ddmm, char *dd){if (NULL == ddmm || NULL == dd){return -1;}int lenSrc = strlen(ddmm)+1;int lenMm = 0;int flag = 1;memcpy(dd,ddmm,lenSrc);char *pcMm;double dMm;int iMm;/* 把pcMm定位到小数点位置 */pcMm = strstr(dd,".");if (pcMm == NULL) /* 不含小数点的情况 */{pcMm = dd+strlen(dd)-2;iMm = atoi(pcMm);dMm = iMm /60.0;}else /* 含有小数点的情况 */{/* 有度 */if (pcMm - dd > 2){pcMm = pcMm - 2;}else /* 没有度,只有分 */{pcMm = dd;flag = 0;}/* 将字符串转换为浮点数 */dMm = atof(pcMm);/* 将分转换为度 */dMm /= 60.0;}/* 把转换后的浮点数转换为字符串 */sprintf(pcMm,"%lf",dMm);if ( flag ){/* 去掉小数点前面的0 */strcpy(pcMm,pcMm+1);}/* 保留小数点后6位 */pcMm = strstr(dd,".");lenMm = strlen(pcMm);if ( lenMm > (6+2)){memset(pcMm+6+2,0,lenMm-6-2);}return 1;}int main(){char ddmm[32];char dd[32];while(scanf("%s",ddmm)){if ( ddmm2dd(ddmm,dd) >=0 )printf("%s \n",dd);}return 0;}
0 0
- GPS坐标转换ddmm.mmmm(度分)-> dd.dddd(度)
- GPS坐标转换ddmm.mmmm(度分)-> dd.dddd(度)
- GPS原始RMC数据解析之DDMM.MMMM
- 度分 格式 转换 GPS 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
- GPS坐标转换(JS)
- 百度坐标转换GPS坐标
- 关于GPS坐标转换(一)
- 关于GPS坐标转换(二)
- 关于GPS坐标转换(三)
- gps坐标转换(定位第二节)
- GPS坐标转换
- GPS坐标转换
- GPS坐标转换
- GPS 坐标转换
- GPS坐标转换
- gps坐标转换
- 关于GPS坐标转换(转)
- GPS经纬度转换屏幕坐标
- TCP协议中的三次握手和四次挥手(图解)
- UVA - 10034 Freckles kruskal算法
- Automake系列( 四)安装可执行脚本
- android 蓝牙搜索
- SwipeRefreshLayout完美添加及完善上拉加载功能
- GPS坐标转换ddmm.mmmm(度分)-> dd.dddd(度)
- XCode 4 的调试定位技巧
- Java中文乱码原因及解决方法(转)
- android 高斯模糊实现以及性能比较
- lamba 表达式 in
- SQL Server 索引简述
- LigerDailog 一些Mark
- Android工具类:获取手机的文件夹及文件列表
- 第272天(28W+2)