From ba646c1fac7964346912f0061c702bf80feed68a Mon Sep 17 00:00:00 2001 From: zh <972939975@qq.com> Date: Tue, 4 Nov 2025 11:30:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=97=E7=BA=AC=E5=BA=A6=E5=88=86=E7=A7=92?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tools/proj.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Tools/proj.js b/src/Tools/proj.js index 90d6b24..2de7d9d 100644 --- a/src/Tools/proj.js +++ b/src/Tools/proj.js @@ -1021,18 +1021,26 @@ class Proj { function tenToThePowerOfN(n) { return Math.pow(10, n); } + let isF = false + if(degrees<0) { + isF = true + } + degrees = Math.abs(degrees) let d = Math.floor(degrees); // 获取整度 let pow1 = tenToThePowerOfN(getDecimalPlaces(degrees)) let x = Math.floor((degrees - d) * pow1 * 60) / pow1; // 获取秒(3600分之一度) let m = Math.floor(x); + if(isF) { + d = -d + } let pow = tenToThePowerOfN(getDecimalPlaces(x)) let s = Math.floor((x - m) * pow) / pow * 60; // 获取秒(3600分之一度) if (isDM) { - return d + "°" + Number(x.toFixed(4)) + "'"; // 返回度分格式 + return d + "°" + (Math.floor(x * 10000) / 10000) + "'"; // 返回度分格式 } else { - return d + "°" + m + "'" + s.toFixed(2) + '"'; // 返回度分秒格式 + return d + "°" + m + "'" + Math.floor(s * 100) / 100 + '"'; // 返回度分秒格式 } }