问题描述
首先,一个例子:
- 我的纬度/经度为(11.1,11.1),我想将其转换为度,分,秒格式。
我的代码:
double degrees = 11.1;
double minutes = (degrees % 1) * 60; // evaluates to 5.999999,should be 6.0
double seconds = (minutes % 1) * 60; // evaluates to 59.999999,should be 0
string result = $"{Math.Floor(degrees)},{Math.Floor(minutes)},{Math.Round(seconds)}";
- 结果是“ 11,5,60”而不是“ 11,6,0”
现在,我知道一般很难使用双除法,但是我发现如果重新计算等式:
double minutes = degrees * 60 % 60; // evaluates to 6
我得到正确的答案。我的问题是,
方程的第二个版本在编程上是否更可靠?如果是这样,为什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)