我知道如何获取数字变量的 last 数字:
num = 21
if num % 10 == 1:
num = num % 10
print '%s' % num
哪个会返回1。 但是,如何获取变量的最后几个数字? 例如。我有
bytes = input("Bytes: ")
对于样本,我想剥去最后8位数字,将其转换为GB数量。现在我需要删除最后8位数并将其保存到另一个变量以供其他使用。然后使用剩余的8个数字并剥离5以获得MB。如何从最后删除一些数字并将其保存到另一个变量?
答案 0 :(得分:1)
为什么不转换为字符串,切片,然后转换回来?
num = 12345678
first_four = int(str(num)[:4])
last_four = int(str(num)[4:])
middle_two = int(str(num)[3:5])
它并不完美,但很简单。
答案 1 :(得分:0)
您想要删除值n的最后k位数?这是Python 2中的n // 10**k
。
您想将n分为前导数字,然后分成最后的k个数字? n_msd, n_lsd = divmod(n, 10**k)
我为“最重要的数字”写了“msd”,为“最少的数字”写了“lsd”。
答案 2 :(得分:0)
如果可以安装库。 hurry.filesize可以帮助您将数字转换为文件大小格式。
如果没有,您可以使用循环在变量中存储数字并计算它。
def size_cul(num):
for x in ['bytes', 'Kb', 'Mb', 'Gb']:
if -1024 < num < 1024:
return "%3.1f %s" % (num, x)
num = num / 1024.0
return "%3.1f %s" % (num, 'TB')
print(size_cul(1024))
输出:
1.0 Kb