我正在尝试编写一个应用程序,将字节转换为kb到mb到gb到tb.
这是我到目前为止所拥有的:
def size_format(b):
if b < 1000:
return '%i' % b + 'B'
elif 1000 <= b < 1000000:
return '%.1f' % float(b/1000) + 'KB'
elif 1000000 <= b < 1000000000:
return '%.1f' % float(b/1000000) + 'MB'
elif 1000000000 <= b < 1000000000000:
return '%.1f' % float(b/1000000000) + 'GB'
elif 1000000000000 <= b:
return '%.1f' % float(b/1000000000000) + 'TB'
问题是,当我尝试应用程序时,我会在十进制清零后得到所有内容.
例
size_format(623)产生
‘623B’
但是使用size_format(6200),
而不是’6.2kb’
我得到’6.0kb’.
有什么想法吗?