Java 经纬度 30°42′35.07″ 转小数格式字符串 代码
时间: 2023-08-24 09:05:10 浏览: 98
可以使用以下代码将这个经纬度转换为小数格式字符串:
```java
public static String convertDMS2Decimal(String dms) {
String[] parts = dms.split("°|′|″");
double degrees = Double.parseDouble(parts[0]);
double minutes = Double.parseDouble(parts[1]);
double seconds = Double.parseDouble(parts[2]);
char direction = parts[3].charAt(0);
double decimal = degrees + (minutes / 60) + (seconds / 3600);
if (direction == 'S' || direction == 'W') {
decimal *= -1;
}
return String.format("%.4f", decimal);
}
```
其中,`dms` 是输入的经纬度字符串,例如 `"30°42′35.07″"`。该方法将字符串按照度、分、秒和方向拆分成四个部分,然后将其转换为小数格式。最后使用 `String.format` 将小数格式化为四位小数的字符串返回。注意,如果方向是南或西,则需要将小数乘以 -1。
你可以使用以下代码调用该方法:
```java
String dms = "30°42′35.07″";
String decimal = convertDMS2Decimal(dms);
System.out.println(decimal);
```
输出结果应该是:`30.7097`。
阅读全文