求地球上点度分秒格式与弧度格式经纬度转换算法
,有算法描述更佳,
另求知道球心夹角@ 和地球半么rad,求孤长算法
解决就散分
,有算法描述更佳,
另求知道球心夹角@ 和地球半么rad,求孤长算法
解决就散分
解决方案 »
- dll使用RegAsm注册成功,还是错误依然
- 如何设置串口一次读36个字节?
- 快五年了,不知道这个问题有没人会。
- 问一个C#里动态取得控件引用的函数
- 比较困难的传值问题,希望大家能积极参与讨论。如果可能最好写出实现的例子。
- 怎样确定一个txt文件和html文件的编码
- 高分就教,在线等,IPHostEntry HostName 取得的机器不对。
- 怎样能够取得鼠标点击的listview的子项呢?请大家给下启发,up有分
- C# Socket 互联网通讯
- 关于.NET对3D封装操作.3D浏览器,有做过类似的兄弟请进
- C# 网络编程问题
- 如何在winform窗体中显示doc,xls文档,不是调用打开的那种?
Ex:
//using System.Text.RegularExpressions;
static string Calc(string AParam)
{
Match vMatch = Regex.Match(AParam, "([0-9]+)°");
double A = 0;
if (vMatch.Success) A = double.Parse(vMatch.Result("$1"));
vMatch = Regex.Match(AParam, @"([0-9]+)′");
double B = 0;
if (vMatch.Success) B = double.Parse(vMatch.Result("$1"));
vMatch = Regex.Match(AParam, @"([0-9]+)″");
double C = 0;
if (vMatch.Success) C = double.Parse(vMatch.Result("$1"));
return string.Format("{0:.000}", A + B / 60 + C / 3600);
}static void Main(string[] args)
{
Console.WriteLine(@"110°3′8"" = " + Calc(@"110°3′8″"));
Console.WriteLine(@"110°07′8"" = " + Calc(@"110°07′8″"));
Console.ReadKey();
}改为自己想要的,编译为DLL
double Dms2Rad(double Dms)
{
double Degree, Miniute;
double Second;
int Sign;
double Rad;
if(Dms>=0)
{
Sign = 1;
}
else
{
Sign = -1;
}
Dms = fabs(Dms);
Degree = floor(Dms);
Miniute = floor(fmod(Dms * 100.0, 100.0));
Second = fmod(Dms * 10000.0, 100.0);
Rad = Sign * (Degree + Miniute / 60.0 + Second / 3600.0) * PI / 180.0;
return Rad;
}
//弧度转为度分秒 方法
double Rad2Dms(double Rad)
{
double Degree, Miniute;
double Second;
int Sign;
double Dms;
if(Rad>=0)
{
Sign = 1;
}
else
{
Sign = -1;
}
Rad = fabs(Rad * 180.0 / PI);
Degree = floor(Rad);
Miniute = floor(fmod(Rad * 60.0, 60.0));
Second = fmod(Rad * 3600.0, 60.0);
Dms = Sign * (Degree + Miniute / 100.0 + Second / 10000.0);
return Dms;
}