如何获取数字变量的最后一个数字?

时间:2014-04-11 19:13:10

标签: python numbers

我知道如何获取数字变量的 last 数字:

num = 21
if num % 10 == 1:
    num = num % 10
    print '%s' % num

哪个会返回1。 但是,如何获取变量的最后几个数字? 例如。我有

bytes = input("Bytes: ")

对于样本,我想剥去最后8位数字,将其转换为GB数量。现在我需要删除最后8位数并将其保存到另一个变量以供其他使用。然后使用剩余的8个数字并剥离5以获得MB。如何从最后删除一些数字并将其保存到另一个变量?

3 个答案:

答案 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
相关问题