我正在尝试编写一个应用程序,将字节转换为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'
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试应用程序时,我会在十进制清零后得到所有内容.示例
size_format(623)产生'623B'但是size_format(6200),而不是得到'6.2kb'我得到'6.0kb'.有什么想法吗?