php перевести байты в мегабайты

Преобразование байтов в килобайты / мегабайты

У меня есть таблица вложений, которая хранит размер документа в байтах.

Мне нужно отобразить набор результатов всех документов в КБ или МБ. В КБ, если размер документа меньше 1 МБ, или в МБ, если размер документа превышает 1 МБ.

В данный момент у меня есть это в моем запросе, но я изо всех сил пытаюсь получить отображение должным образом отформатированным с точки зрения округления.

Вот несколько примеров значений:

346 байт также будет отображать 0 КБ, поэтому идеально отображать 1 КБ было бы идеально как минимум.

3 ответа

Как вы хотите округлить значения? Если вы хотите округлить, используйте ceiling() :

В исходном вопросе предлагалось округлить значения в большую сторону, когда говорилось

346 байт также будут отображать 0 КБ, поэтому в идеале отображение 1 КБ было бы идеальным как минимум

Однако поясняющие комментарии к ответу предполагают, что следует показывать десятичные значения, а не округлять:

Он отображает 2 МБ, хотя для 1458250 должно быть 1,45 МБ.

Далее в вопросе говорилось

Однако предложенный ответ, сформулированный в вопросе, рассматривал разбиение данных на 1000000 байтов, что на самом деле является приблизительным размером 1 мегабайт, и все предыдущие ответы следовали этому примеру. Как ни странно, при форматировании данных используется точное значение мегабайта: 1048576.

Округление до ближайшего значения

Если речь идет о размере файла, это консервативно и подсчитывается больше байтов, чем фактически сообщается.

Показаны 3 десятичных значения

Возможно, более точный и менее читаемый.

Правильное округление (в большую или меньшую сторону)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *