//度转度°分′秒″
export 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; // 这里可以修改成你想要的格式例如你可以
// 改成这样的:return strDu + "°" + strFen + "'" + strMiao + "\"N";
}
//度°分′秒″转度
export function ToDigital(value) {
let strDu = value.split('°')[0];
let strFen = value.split('°')[1] ? value.split('°')[1].split('′')[0] : undefined;
let strMiao = value.split('°')[1] ? (value.split('°')[1].split('′')[1] ? value.split('°')[1].split('′')[1].split('″')[0] : undefined) : undefined;
let len = value.split('°')[1] ? (value.split('°')[1].split('′')[1] ? value.split('°')[1].split('′')[1].split('″')[1] : undefined) : undefined;
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 parseFloat(digital.toFixed(len));
}
}
//用以判断JS变量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false
export function isEmpty(v) {
switch (typeof v) {
case 'undefined':
return '-';
case 'string':
if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return '-';
break;
case 'boolean':
if (!v) return '-';
break;
case 'number':
if (isNaN(v)) return '-';
break;
case 'object':
if (null === v || v.length === 0) return '-';
}
return v;
}