我想在我的代码中比较Android版本号。如果任何版本低于4.1,我想要该版本号。
我应该直接在字符串上使用比较吗?
示例:
"4.0.3" < "4.1" # should return.
"5.0" < "4.1" # should not return.
答案 0 :(得分:0)
试试这个
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))
输出
False
True
答案 1 :(得分:-2)
您可以将版本字符串转换为float。然后比较它们。
def version2float(version):
main, *tail = version.split('.')
temp = ''.join(tail)
return float('.'.join([main, temp]))