首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >版本号比较

版本号比较
EN

Stack Overflow用户
提问于 2017-07-21 07:12:31
回答 2查看 1.6K关注 0票数 2

我正在尝试比较我的代码中的android版本号。如果任何版本小于4.1,我想要那个版本号。

是否应该直接对字符串使用比较,如下所示?

示例:

代码语言:javascript
复制
"4.0.3" < "4.1" # should return.
"5.0" < "4.1"  # should not return.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-21 07:31:45

尝尝这个

代码语言:javascript
复制
def compare_versions_greater_than(v1, v2):
    for i, j in zip(map(int, v1.split(".")), map(int, v2.split("."))):
        if i == j:
            continue
        return i > j
    return len(v1.split(".")) > len(v2.split("."))

a = "2.0.3"
b = "2.1"
print(compare_versions_greater_than(a, b))
print(compare_versions_greater_than(b, a))

输出

代码语言:javascript
复制
False
True
票数 0
EN

Stack Overflow用户

发布于 2017-07-21 07:22:38

您可以将版本字符串转换为浮动。然后比较它们。

代码语言:javascript
复制
def version2float(version):
    main, *tail = version.split('.')
    temp = ''.join(tail)
    return float('.'.join([main, temp]))
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45231304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档