如何减小float-python的大小

时间:2014-09-15 07:02:46

标签: python

我试图在给定字节数的情况下创建一个可读的文件名生成器,但是也可以在没有if语句或循环的情况下创建它:

def memory_size(n):
     suffix = ['B','KB','MB','GB','TB']
     return ('%.1f'+suffix[int(math.log10(n)/3)]) %(n/?)

我难以理解为什么我可以划分'n',以便在不使用if语句或循环的情况下向用户显示减小的文件大小?

1 个答案:

答案 0 :(得分:1)

1024**(math.log10(n)/3)

关于不使用for循环的愚蠢的事情是你会得到恼人的浮动分割错误

>>> mem(1000000)
'1.0MB'
>>> mem(1000000000)
'0.9GB'

我在您的代码中拨打了round()