[求助]VB.NET中有没有将角度(弧度<--->度分秒)相互转换的函数,如果没有希望各位能提供!!!

wcbao 2006-01-10 08:28:12
rt
...全文
624 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcbao 2006-01-10
  • 打赏
  • 举报
回复
谢谢以上各位了
weiyan19820315 2006-01-10
  • 打赏
  • 举报
回复
弧度 = degree * PI / 180.0
角度 = 弧度* 180 / Pi

咚咚锵 2006-01-10
  • 打赏
  • 举报
回复
/// <summary>
/// 将参数angle由弧度转换成角度,并以度,分,秒的先后顺序存放在字符串数组中
/// </summary>
/// <param name="angle">弧度</param>
/// <returns>度分秒按顺序表示的字符串数组</returns>
/// <remarks>不可以转换负的角度</remarks>
public static string[] RadToDegree(double angle)
{
int du;
int fen;
double miao;

du=(int)System.Math.Floor(angle/System.Math.PI*180.0);
fen=(int)System.Math.Floor((angle/System.Math.PI*180-du)*60.0);
miao=System.Math.Round((angle/System.Math.PI*180-du-(double)fen/60.0)*36000)/10;
if(miao==60)
{
miao=0;
fen+=1;
}
if(fen==60)
{
fen=0;
du+=1;
}
return new string[]{du.ToString(),fen.ToString(),miao.ToString()};
}
/// <summary>
/// 将-50/23/34 形式所表示的度数(-50度23分34秒)转换为弧度
/// </summary>
/// <param name="degree">-50/23/34 形式所表示的度数(-50度23分34秒)</param>
/// <returns>该字符串所表示的度数</returns>
public static double DegreeToRad(string degree)
{
string[] d=degree.Split(new char[]{'/'});
if(d.Length==0)
{
return 0;
}
if(d.Length==1)
{
degree=degree+"/0/0";
}
if(d.Length==2)
{
degree=degree+"/0";
}
d=degree.Split(new char[]{'/'});
double[] t=new double[]{double.Parse(d[0]),double.Parse(d[1]),double.Parse(d[2])};
return System.Math.Sign(t[0])*RoadMapGet.staticRoadMapGet.getRadbyDegree(System.Math.Abs(t[0])+t[1]/60.0+t[2]/3600.0);
}


兔子-顾问 2006-01-10
  • 打赏
  • 举报
回复
好像写错了
弧度 = degree * PI / 180.0
角度 = 弧度 / Pi / 180
兔子-顾问 2006-01-10
  • 打赏
  • 举报
回复
public const PI as new Decimal(3.1415926535897932384626)
角度 = 弧度*180/PI
弧度 = 角度/180/PI

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧