c#10进制转换为度分秒
时间: 2024-09-16 11:05:21 浏览: 71
C#度分秒转换
在 C# 中,将十进制数值转换为度、分、秒的形式通常用于处理角度计算,例如经纬度表示。可以创建一个函数来进行这样的转换。以下是一个简单的示例:
```csharp
public static string DecimalToDegreesMinutesSeconds(double decimalValue)
{
if (decimalValue < 0)
return "Invalid input for negative angles.";
int degrees = (int)decimalValue;
double remainingSeconds = Math.Abs(decimalValue - degrees);
int minutes = (int)(remainingSeconds * 60);
double seconds = remainingSeconds * 3600 - minutes * 60;
// 对于非常精确的角度,可能会有微小的小数点位,这里仅保留到整数秒
seconds = Math.Floor(seconds);
return $"{degrees}° {minutes}' {seconds}\"";
}
```
这个函数首先获取整数部分作为度数,然后计算剩余的秒数,并将其转换为分钟和秒。最后,它返回一个字符串格式化的结果,例如 "45° 30' 15\""。
阅读全文