博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
经纬度加减运算。(度°分′秒″格式)
阅读量:3607 次
发布时间:2019-05-20

本文共 1223 字,大约阅读时间需要 4 分钟。

经度是分和秒是按60进位,如果要做运算第一步就是转换成浮点数,之后就是计算和还原。
  1. using System.Text.RegularExpressions;
  2. public static double DegreeFromString(string str)
  3. {
  4.     Match match = Regex.Match(str, 
  5.         @"(?<hour>[0-9]+)°(?<minute>[0-9]+)(′|')(?<second>[0-9]+(/.[0-9]+)?)(″|""|'')");
  6.     if (match.Success)
  7.     {
  8.         double hour = 0, minute = 0, second = 0;
  9.         double.TryParse(match.Result("${hour}"), out hour);
  10.         double.TryParse(match.Result("${minute}"), out minute);
  11.         double.TryParse(match.Result("${second}"), out second);
  12.         return hour + minute / 60 + second / 3600;
  13.     }
  14.     else return 0;
  15. }
  16. public static string DegreeToString(double degree)
  17. {
  18.     double minute = (degree - (int)degree) * 60;
  19.     double second = (minute - (int)minute) * 60;
  20.     return string.Format("{0:#}°{1:#}′{2:#.00}″", degree, Math.Abs(minute), Math.Abs(second));
  21. }
  22. private void button1_Click(object sender, EventArgs e)
  23. {
  24.     Console.WriteLine(DegreeToString(DegreeFromString("20°53'41''")));
  25.     Console.WriteLine(DegreeToString(DegreeFromString("10°11'20.5''")));
  26.     Console.WriteLine(DegreeToString(DegreeFromString("20°53'41''") - DegreeFromString("10°11'20.5''")));
  27.     Console.WriteLine(DegreeToString(DegreeFromString("10°11'20.5''") - DegreeFromString("20°53'41''")));
  28. }
输出:
  1. 21°5441.00
  2. 10°1120.50
  3. 11°4220.50
  4. -11°4220.50

转载地址:http://bhnzn.baihongyu.com/

你可能感兴趣的文章
史上最全的PHP正则表达式
查看>>
理解Mysql prepare预处理语句
查看>>
预编译语句(Prepared Statements)介绍,以MySQL为例
查看>>
单利模式
查看>>
gdal学习笔记1-读取数据信息
查看>>
python关于print中数据传输的用法
查看>>
sublime text3的快捷键总结
查看>>
gdal学习笔记2-数据读写
查看>>
python中动态生成变量名及赋值
查看>>
python识别数据结构
查看>>
python bisect序列二分法详解
查看>>
python学习笔记字典排序,
查看>>
python内置类 set
查看>>
python getatrra()
查看>>
thinkpython2的扑克牌系列练习最终解读
查看>>
matlab复色光夫琅禾费衍射
查看>>
前端上传图片(文件)到后端
查看>>
SpringBoot pom.xml 配置依赖
查看>>
类比较器Comparator
查看>>
Maven--pom.xml文件标签含义(父模块, 子模块)
查看>>