Я пытаюсь написать приложение для преобразования байтов в 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". Любые идеи почему?