如何在javascript中将4000 in转换为4MB?
我试过了
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.91KB”。我要买4毫巴
发布于 2016-02-25 09:55:20
你的功能是正确的。它只接受字节。但你想做的是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));
https://stackoverflow.com/questions/35623493
复制相似问题