度分秒转经纬度Java

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

忘记出处了,可用

 

posted @ 2020-04-15 11:26  自挂东南只  阅读(715)  评论(0)    收藏  举报