有时候拿到后台给的大小是下面这样:
2.5GB、236.2MB、2kb…
// 比如236.2MB
let str = "236.2MB";
let size = str.match(/^\d+/g)[0];
let unit= str.match(/[a-zA-z]+/gi)[0];
sizeToB(size,unit)
function sizeToB(size,unit){
let result = 0;
size = parseFloat(size);
unit = unit.toLowerCase();
if(unit === 'gb' || unit === 'g'){
result = (size * 1024 * 1024 * 1024).toFixed(2);
}else if(unit === 'mb' || unit === 'm'){
result = (size * 1024 * 1024).toFixed(2);
}else if(unit === 'kb' || unit === 'k'){
result = (size * 1024).toFixed(2);
}else if(unit === 'b'){
result = size;
}
return result;
}