Python:将整数转换为版本号的最简单方法?
Python: Simplest way to convert integer to a version number?
例如:
我有一个整数 20000
等于版本 02.00.00
如何格式化 20000
以获得 02.00.00
?
我试过转换为字符串并使用格式:
x = str(20000)
'{}.{}.{}'.format(x[0:2], x[2:4], x[4:6])
但是当我想要 2.00.00
或 02.00.00
.
时,我会得到 20.00.0
您可以反过来使用索引。试试这个:
x = str(20000)
version_string = "{}.{}.{}".format(x[:-4], x[-4:-2], x[-2:])
print(version_string)
它将在每个 2 位数字的块中显示 4 位数字,其余字符串(索引 -4 之前的前导部分)作为主要版本(第一个数字)。
编辑:删除了第一个格式参数的上限,因此第一个块可以具有任意长度。
如果您的号码始终是 5 位数字,您可以这样做:
myString = "20000"
formatedString = '0' + s[:1] + '.' + s[1:3] + '.' + s[3:6]
print formatedString
例如:
我有一个整数 20000
等于版本 02.00.00
如何格式化 20000
以获得 02.00.00
?
我试过转换为字符串并使用格式:
x = str(20000)
'{}.{}.{}'.format(x[0:2], x[2:4], x[4:6])
但是当我想要 2.00.00
或 02.00.00
.
20.00.0
您可以反过来使用索引。试试这个:
x = str(20000)
version_string = "{}.{}.{}".format(x[:-4], x[-4:-2], x[-2:])
print(version_string)
它将在每个 2 位数字的块中显示 4 位数字,其余字符串(索引 -4 之前的前导部分)作为主要版本(第一个数字)。
编辑:删除了第一个格式参数的上限,因此第一个块可以具有任意长度。
如果您的号码始终是 5 位数字,您可以这样做:
myString = "20000"
formatedString = '0' + s[:1] + '.' + s[1:3] + '.' + s[3:6]
print formatedString