2 Mayıs 2012, ÇARŞAMBA
dönüştürme insan okunabilir bayt cinsinden boyut
Bu işlev, insan okunabilir bir dosya boyutu (bayt cinsinden dosya boyutu dönüştürmek için kullanıyorum:
function getReadableFileSizeString(fileSizeInBytes) {
var i = -1;
var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
do {
fileSizeInBytes = fileSizeInBytes / 1024;
i ;
} while (fileSizeInBytes > 1024);
return Math.max(fileSizeInBytes, 0.1).toFixed(1) byteUnits[i];
};
Ancak, bu 0 değil, doğru değil gibi görünüyor. Örnek...
getReadableFileSizeString(1551859712); // output is "1.4 GB"
Bu olmamalı "1.5 GB"? 1024 bölümü hassas kaybediyor gibi görünüyor. Tamamen bir yanlış anlaşılma ya da böyle bir şekilde bunu yapmak için alır mıyım?
CEVAP
17 ŞUBAT 2013, Pazar
İşte yazdım
function humanFileSize(bytes, si) {
var thresh = si ? 1000 : 1024;
if(Math.abs(bytes) < thresh) {
return bytes ' B';
}
var units = si
? ['kB','MB','GB','TB','PB','EB','ZB','YB']
: ['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];
var u = -1;
do {
bytes /= thresh;
u;
} while(Math.abs(bytes) >= thresh && u < units.length - 1);
return bytes.toFixed(1) ' ' units[u];
}
örneğin
humanFileSize(5000,true)
> "5.0 kB"
humanFileSize(5000,false)
> "4.9 KiB"
humanFileSize(-10000000000000000000000000000)
> "-8271.8 YiB"
Bunu Paylaş:
Java nasıl insan okunabilir biçime bay...
İnsan okunabilir sürümü almak için kit...
Dönüştürme megabayt bayt...
Python dönüştürme unix zaman damgası t...
İnsan okunabilir tarih MySQL kullanara...