如何在javascript中将4000千字节转换为4兆字节?
我试过了
function formatSizeUnits(bytes){
if (bytes>=1073741824) {bytes=(bytes/1073741824).toFixed(2)+' GB';}
else if (bytes>=1048576) {bytes=(bytes/1048576).toFixed(2)+' MB';}
else if (bytes>=1024) {bytes=(bytes/1024).toFixed(2)+' KB';}
else if (bytes>1) {bytes=bytes+' bytes';}
else if (bytes==1) {bytes=bytes+' byte';}
else {bytes='0 byte';}
return bytes;
}
formatSizeUnits(4000);
我得到的答案是" 3.91 KB"。我需要4mb
答案 0 :(得分:7)
你的功能是正确的。它只接受字节。但你要做的是formatSizeUnits(4000)
。这是错误的,预期输出为3.91 MB
,因为它除以1024而不是1000.正确的方法是调用
formatSizeUnits(4000*1024) // beacuse 4000 is in KB and convert into bytes
请参阅以下代码段以获取正确答案
function formatSizeUnits(bytes){
if (bytes>=1073741824) {bytes=(bytes/1073741824).toFixed(2)+' GB';}
else if (bytes>=1048576) {bytes=(bytes/1048576).toFixed(2)+' MB';}
else if (bytes>=1024) {bytes=(bytes/1024).toFixed(2)+' KB';}
else if (bytes>1) {bytes=bytes+' bytes';}
else if (bytes==1) {bytes=bytes+' byte';}
else {bytes='0 byte';}
return bytes;
}
document.write(formatSizeUnits(4000*1024));