js经纬度十进制度和度分秒互转

js经纬度十进制度 转 度分秒

//度转度°分′秒″
function ToDegrees(val) {
    
    
    if (typeof (val) == "undefined" || val == "") {
    
    
        return "";
    }
    var i = val.indexOf('.');
    var strDu = i < 0 ? val : val.substring(0, i);//获取度
    var strFen = 0;
    var strMiao = 0;
    if (i > 0) {
    
    
        var strFen = "0" + val.substring(i);
        strFen = strFen * 60 + "";
        i = strFen.indexOf('.');
        if (i > 0) {
    
    
            strMiao = "0" + strFen.substring(i);
            strFen = strFen.substring(0, i);//获取分
            strMiao = strMiao * 60 + "";
            i = strMiao.indexOf('.');
            strMiao = strMiao.substring(0, i + 4);//取到小数点后面三位
            strMiao = parseFloat(strMiao).toFixed(2);//精确小数点后面两位
        }
    }
    return strDu + "," + strFen + "," + strMiao;
}

js经纬度 度分秒 转 十进制度

//度°分′秒″转度
function ToDigital(strDu, strFen, strMiao, len) {
    
    
    len = (len > 6 || typeof (len) == "undefined") ? 6 : len;//精确到小数点后最多六位   
    strDu = (typeof (strDu) == "undefined" || strDu == "") ? 0 : parseFloat(strDu);
    strFen = (typeof (strFen) == "undefined" || strFen == "") ? 0 : parseFloat(strFen) / 60;
    strMiao = (typeof (strMiao) == "undefined" || strMiao == "") ? 0 : parseFloat(strMiao) / 3600;
    var digital = strDu + strFen + strMiao;
    if (digital == 0) {
    
    
        return "";
    } else {
    
    
        return digital.toFixed(len);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40407998/article/details/126598285