C# 鲁棒模精度
首先,举个例子:C# 鲁棒模精度,c#,modulo,rounding-error,robustness,C#,Modulo,Rounding Error,Robustness,首先,举个例子: 我有一个Lat/Lon(11.1,11.1),我想把它转换成度,分,秒的格式 I代码: 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 =
- 我有一个Lat/Lon(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
我得到了正确的答案。我的问题是,
这个等式的第二个版本在编程上是否更健壮?如果是,原因是什么?请参阅