From c9c6973072cee68c1bd1221d1f0a30a2e67ae995 Mon Sep 17 00:00:00 2001 From: leedongmyung Date: Thu, 22 May 2025 21:10:29 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=84=EC=A0=84=20=EC=83=81=EC=8A=B9=20?= =?UTF-8?q?=EC=9C=A0=ED=8B=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/utils/string_util.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/utils/string_util.dart b/lib/utils/string_util.dart index e8e0d7e..8dbf5a9 100644 --- a/lib/utils/string_util.dart +++ b/lib/utils/string_util.dart @@ -21,3 +21,21 @@ String getTime() { String jsonPrettyEncode(Object? object) { return JsonEncoder.withIndent(' ').convert(object); } + +String incrementVersion(String version) { + final parts = version.split('.').map(int.parse).toList(); + + for (int i = parts.length - 1; i >= 0; i--) { + if (parts[i] < 999) { + parts[i] += 1; + break; + } else { + parts[i] = 0; + } + } + + // 만약 가장 왼쪽 자리까지 999였다면, 자릿수가 늘어남 (ex: 999.999 → 1000.0) + // 요구조건 상 자릿수 증가 없이, 그냥 앞 자리만 +1 하고 뒷자리는 0으로 유지해야 하므로, + // 맨 앞까지 carry됐을 경우 자릿수는 그대로 유지 + return parts.join('.'); +}