From 7dfbc6202bee8787c1e44d5fd2bd50e7bd0f071c Mon Sep 17 00:00:00 2001 From: orz12 Date: Fri, 23 Feb 2024 10:44:29 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E4=BF=AE=E6=94=B9=E7=94=BB=E8=B4=A8?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E9=80=BB=E8=BE=91=EF=BC=8C=E5=BD=93=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=8C=87=E5=AE=9A=E7=94=BB=E8=B4=A8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E6=9F=A5=E6=89=BE=E6=9C=80=E6=8E=A5=E8=BF=91=E7=94=BB=E8=B4=A8?= =?UTF-8?q?=E9=99=90=E5=AE=9A=E4=B8=BA=E5=90=91=E4=B8=8B=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/utils/utils.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index a24f9858..8b935033 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -200,18 +200,22 @@ class Utils { static int findClosestNumber(int target, List numbers) { int minDiff = 127; - late int closestNumber; + int? closestNumber; try { for (int number in numbers) { - int diff = (number - target).abs(); - + int diff = target - number; + if (diff < 0) { + continue; + } if (diff < minDiff) { minDiff = diff; closestNumber = number; } } - } catch (_) {} - return closestNumber; + } catch (_) {} finally { + closestNumber ??= numbers.last; + } + return closestNumber!; } // 版本对比