首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>C#以度°分′秒″格式实现经纬度加减运算
C#以度°分′秒″格式实现经纬度加减运算
来源: 发布时间:2008-11-26 发布人: 浏览: 人次   字体: [ ]  

经度是分和秒是按60进位,如果要做运算第一步就是转换成浮点数,之后就是计算和还原。

using System.Text.RegularExpressions;

public static double DegreeFromString(string str)
{
    Match match = Regex.Match(str,
        @"(?<hour>[0-9]+)°(?<minute>[0-9]+)(′|')(?<second>[0-9]+(\.[0-9]+)?)(″|""|'')");
    if (match.Success)
    {
        double hour = 0, minute = 0, second = 0;
        double.TryParse(match.Result("${hour}"), out hour);
        double.TryParse(match.Result("${minute}"), out minute);
        double.TryParse(match.Result("${second}"), out second);
        return hour + minute / 60 + second / 3600;
    }
    else return 0;
}

public static string DegreeToString(double degree)
{
    double minute = (degree - (int)degree) * 60;
    double second = (minute - (int)minute) * 60;
    return string.Format("{0:#}°{1:#}′{2:#.00}″", degree, Math.Abs(minute), Math.Abs(second));
}

private void button1_Click(object sender, EventArgs e)
{
    Console.WriteLine(DegreeToString(DegreeFromString("20°53'41''")));
    Console.WriteLine(DegreeToString(DegreeFromString("10°11'20.5''")));
    Console.WriteLine(DegreeToString(DegreeFromString("20°53'41''") - DegreeFromString("10°11'20.5''")));
    Console.WriteLine(DegreeToString(DegreeFromString("10°11'20.5''") - DegreeFromString("20°53'41''")));
}
输出:

21°54′41.00″
10°11′20.50″
11°42′20.50″
-11°42′20.50″


相 关 文 章   发布商链接
·最为经典的C#操作文件的方法大全
·C#实现把多个文件写入到一个文件中去...
·C#实现密码修改及其正则验证的代码
·C#实现合并多个结构一样的Excel代码
·C#实现读取sql2005日志的代码
·如何在c#中获取excel文件表的结构信...
·c#实现excel数据高效导入到sql数据库
·C#语言实现整个目录拷贝与删除的类
·C#向Excel报表中插入图片的2种方法
·提供一个基于.NET的加密/解密算法
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·最为经典的C#操作文件的方法...
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·C#如何从文本文件读取信息并...
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
热 门 文 章
·C#如何获取文件路径中的文件...
·c#中收发邮件处理代码(POP3,...
·浅谈接口和抽象类的区别,加...
·什么是c#深拷贝与浅拷贝及其...
·C#语言实现创建、删除和移动...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·C#如何从文本文件读取信息并...
·C#语言实现从XML文件导出数据...
·用C#编写ActiveX控件代码实例
·如何在c#中去掉字符串中的回...
·String.Split 方法使用及其代...
·C#语言绘制实时曲线图代码实...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .