C#里,如何把度转换成度分秒的形式输出?
在用C#语言编写作业,不知道如何把已经计算好了的角度(以度的形式,即32.1234354656)转换成度分秒的形式输出,拜托各位高手了...
在用C#语言编写作业,不知道如何把已经计算好了的角度(以度的形式,即32.1234354656)转换成度分秒的形式输出,拜托各位高手了
展开
1个回答
展开全部
我数学不好,问Google要的
public static string TranDegreeToDMs(double d)
{
int Degree = Convert.ToInt16(Math.Truncate(d));//度
d = d - Degree;
int M = Convert.ToInt16(Math.Truncate((d) * 60));//分
int S = Convert.ToInt16(Math.Round((d * 60 - M) * 60));
if (S == 60)
{
M = M + 1;
S = 0;
}
if (M == 60)
{
M = 0;
Degree = Degree + 1;
}
string rstr = Degree.ToString() + ".";
if (M < 10)
{
rstr = rstr + "0" + M.ToString();
}
else
{
rstr = rstr + M.ToString();
}
if (S < 10)
{
rstr = rstr + "0" + S.ToString();
}
else
{
rstr = rstr + S.ToString();
}
return rstr;
}
public static string TranDegreeToDMs(double d)
{
int Degree = Convert.ToInt16(Math.Truncate(d));//度
d = d - Degree;
int M = Convert.ToInt16(Math.Truncate((d) * 60));//分
int S = Convert.ToInt16(Math.Round((d * 60 - M) * 60));
if (S == 60)
{
M = M + 1;
S = 0;
}
if (M == 60)
{
M = 0;
Degree = Degree + 1;
}
string rstr = Degree.ToString() + ".";
if (M < 10)
{
rstr = rstr + "0" + M.ToString();
}
else
{
rstr = rstr + M.ToString();
}
if (S < 10)
{
rstr = rstr + "0" + S.ToString();
}
else
{
rstr = rstr + S.ToString();
}
return rstr;
}
参考资料: http://blog.csdn.net/yanleigis/archive/2008/06/16/2552048.aspx
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询