涉及到度分秒的换算让我头痛,虽然只是小问题,但试了好多方法计算出来结果都有问题,前段做了总结,将所有数据都化成秒值再进行数学运算,算完以后再转化为客户需要的数据格式就能避免很多错误,下面两个方法是我后来用到的格式转换方法,虽然简单,但是还比较实用。
public double getsec(double num)//把输入数据全化为秒值,num的格式说明:1230408为123度4分8秒
{
double mysec = -1;
double nsec = num - 100 * (int)(num / 100);
int d = (int)(num / 10000);
int m = (int)((num - d * 10000 - nsec) / 100);
mysec = d * 3600 + m * 60 + nsec;
return mysec;
}
public double getdeg(double num)//把秒值数据化为度分秒格式,返回值的格式如上面方法的num参数
{
double mydeg = 0;
int d = (int)(num / 3600);
int m = (int)((num / 3600.0 - d) * 60);
double s = num - 3600 * d - 60 * m;
mydeg = d * 10000 + m * 100 + s;
return mydeg;
}
本文提供了一种将角度、分钟和秒转换为秒值的方法,并介绍了如何将秒值转换回度分秒格式的有效策略。通过将所有数据统一为秒值进行计算,可以显著减少计算错误。
1782

被折叠的 条评论
为什么被折叠?



