Перевод байтов
Здравствуйте !
Есть размер файла в байтах (6883008), подскажите как правильно перевести байты в удобный для чтения формат ? Использовать что-то подобное этому ? function conv_fsize($fsizeb) { $fsizekb = round($fsizeb / 1024, 1); //переводим в кб $fsizemb = round($fsizekb / 1024, 1); //переводим в мб $fsizegb = round($fsizemb / 1024, 1); //переводим в гб $fsizetb = round($fsizegb / 1024, 1); //переводим в тб if ($fsizekb <= 1024) { $fsize = $fsizekb . ' кб'; } else if ($fsizekb >= 1024 and $fsizemb <= 1024) { $fsize = $fsizemb . ' мб'; } else if ($fsizemb >= 1024 and $fsizegb <= 1024) { $fsize = $fsizegb . ' гб'; } else { $fsize = $fsizetb . ' тб'; } return $fsize; } |
alert(~~((6883008/1024)/1024) + ' МБ') |
monolithed,
Я сделал так: function conv_size(b){ fsizekb = b / 1024; fsizemb = fsizekb / 1024; fsizegb = fsizemb / 1024; fsizetb = fsizegb / 1024; if (fsizekb <= 1024) { fsize = fsizekb.toFixed(3) + ' кб'; } else if (fsizekb >= 1024 && fsizemb <= 1024) { fsize = fsizemb.toFixed(3) + ' мб'; } else if (fsizemb >= 1024 && fsizegb <= 1024) { fsize = fsizegb.toFixed(3) + ' гб'; } else { fsize = fsizetb.toFixed(3) + ' тб'; } return fsize; } Это правильно ? |
Я делаю так:
function formatSize(length){ var i = 0, type = ['б','Кб','Мб','Гб','Тб','Пб']; while((length / 1000 | 0) && i < type.length - 1) { length /= 1024; i++; } return length.toFixed(2) + ' ' + type[i]; } |
Часовой пояс GMT +3, время: 02:39. |