// 版本号对比
Future<bool> compareVersion(curV, reqV) async{
if (curV != null && reqV != null) {
//将两个版本号拆成数字
var arr1 = curV.split('.'),
arr2 = reqV.split('.');
int arr1_len = arr1.length;
int arr2_len = arr2.length;
int minLength = math.min(arr1_len, arr2_len),
position = 0,
diff = 0;
// 依次比较版本号每一位大小,当对比得出结果后跳出循环(后文有简单介绍)
while (position < minLength && ((diff = int.parse(arr1[position]) - int.parse(arr2[position])) == 0)) {
position++;
}
diff = (diff != 0) ? diff : (arr1.length - arr2.length);
//若curV大于reqV,则返回true
return diff > 0;
} else {
//输入为空
print("版本号不能为空");
return false;
}
}
flutter版本号对比
最新推荐文章于 2026-05-04 09:37:19 发布
本文介绍了一个用于比较软件版本号的算法实现。通过将版本号字符串拆分为数组,并逐位进行数值对比来判断当前版本是否高于要求版本。适用于需要进行版本更新判断的应用场景。
4307

被折叠的 条评论
为什么被折叠?



