From a83c8039341628e6f841188593182f0e3baa4c33 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Wed, 1 Apr 2026 10:48:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=84=EB=A7=88=EB=9E=80=EC=8A=A4=20?= =?UTF-8?q?=EA=B2=B0=EC=9E=AC=EB=AC=B8=EC=84=9C=20=EA=B8=88=EC=95=A1=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20-=20=EA=B3=BC?= =?UTF-8?q?=ED=95=99=EC=A0=81=20=ED=91=9C=EA=B8=B0=EB=B2=95(E)=20=EC=A0=95?= =?UTF-8?q?=EA=B7=9C=EC=8B=9D=20=EB=88=84=EB=9D=BD=20=EB=B3=B4=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - formatNumber, formatDecimalNumber 정규식에 eE 포함하여 "3.745E7" 문자열도 정상 파싱 - CommonUtils.checkNull()이 Number를 String으로 변환 시 과학적 표기법이 되는 경우 대응 Co-Authored-By: Claude Opus 4.6 (1M context) --- src/com/pms/service/ApprovalService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/pms/service/ApprovalService.java b/src/com/pms/service/ApprovalService.java index a1837f3..eff184a 100644 --- a/src/com/pms/service/ApprovalService.java +++ b/src/com/pms/service/ApprovalService.java @@ -3617,9 +3617,9 @@ public class ApprovalService { long num = Math.round(((Number) value).doubleValue()); return String.format("%,d", num); } - String strVal = value.toString().replaceAll("[^0-9.\\-]", ""); + String strVal = value.toString().replaceAll("[^0-9.eE\\-]", ""); if(strVal.isEmpty()) return "0"; - if(strVal.contains(".")) { + if(strVal.contains(".") || strVal.contains("E") || strVal.contains("e")) { long num = Math.round(Double.parseDouble(strVal)); return String.format("%,d", num); } @@ -3641,7 +3641,7 @@ public class ApprovalService { if(value instanceof Number) { num = ((Number) value).doubleValue(); } else { - String strVal = value.toString().replaceAll("[^0-9.\\-]", ""); + String strVal = value.toString().replaceAll("[^0-9.eE\\-]", ""); if(strVal.isEmpty()) return "0.00"; num = Double.parseDouble(strVal); } -- 2.49.1