class Angle { constructor() {} /** * 十进制经纬度转度分秒,精确至毫秒 * @param decimal_var 十进制经纬度 * @constructor */ static DecimalDegree2DMS(decimal_var: number|string){ if(!decimal_var.toString().includes('.')) return decimal_var.toString() + '°0\'0\'\'' let decimalStr = decimal_var.toString().split('.') let degreeStr = decimalStr[0] if (decimalStr[1]){ let minutes = Number(decimalStr[1]) / Math.pow(10,decimalStr[1].length) * 60 if(!minutes.toString().includes('.')) return degreeStr + '°'+ minutes.toString() +'\'0\'\'' let minuteSecondsStr = minutes.toString().split('.') if (minuteSecondsStr[1]){ let secondStr = Number(minuteSecondsStr[1]) / Math.pow(10,minuteSecondsStr[1].length) * 60 return degreeStr + '°'+ minuteSecondsStr[0] +'\'' + secondStr.toFixed(3) + '\'\'' } } return '' } } export { Angle }