最近在做文件上传的插件,遇到文件大小格式化问题,于是写了个易于扩展和维护的通用方法。
var formats={
'Byte':Math.pow(10,0),
'KB':Math.pow(10,3),
'MB':Math.pow(10,6),
'GB':Math.pow(10,9),
'TB':Math.pow(10,12),
'PB':Math.pow(10,15),
'EB':Math.pow(10,18),
'ZB':Math.pow(10,21),
'YB':Math.pow(10,24),
'BB':Math.pow(10,27)
}
function formatFileSize(fileSize,lenght){
var r;
var l=lenght||2;
for(var k in formats){
var v=formats[k];
r=fileSize/v;
if(r>=1&&r<1000){
r=parseInt(r*Math.pow(10,l),10)/Math.pow(10,l)+k;
break;
}
}
return r;
}
alert(formatFileSize(1024*1024*54));