public static Double tranformPos(String lng){
String[] lntArr = lng
.trim()
.replace("°", ";")
.replace("′", ";")
.replace("'", ";")
.replace("\"", "")
.split(";");
Double result = 0D;
for (int i = lntArr.length; i >0 ; i--) {
double v = Double.parseDouble(lntArr[i-1]);
if(i==1){
result=v+result;
}else{
result=(result+v)/60;
}
}
return result;
}
test:
String lng = "28°45′29.46'";
System.out.println(tranformPos(lng));
// 28.758183333333335
忘记出处了,可用