diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index e50c295c..9fcb70f9 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -209,9 +209,6 @@ class Utils { int minDiff = 127; int closestNumber = 0; // 初始化为0,表示没有找到比目标值小的整数 - if (numbers.contains(target)) { - return target; - } // 向下查找 try { for (int number in numbers) { @@ -226,6 +223,20 @@ class Utils { } } catch (_) {} + // 向上查找 + if (closestNumber == 0) { + try { + for (int number in numbers) { + int diff = (number - target).abs(); + + if (diff < minDiff) { + minDiff = diff; + closestNumber = number; + } + } + } catch (_) {} + } + // 向上查找 if (closestNumber == 0) { try {