首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中将千字节转换为兆字节

如何在javascript中将千字节转换为兆字节
EN

Stack Overflow用户
提问于 2016-02-25 09:40:47
回答 1查看 3.5K关注 0票数 4

如何在javascript中将4000 in转换为4MB?

我试过了

代码语言:javascript
复制
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毫巴

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 09:55:20

你的功能是正确的。它只接受字节。但你想做的是formatSizeUnits(4000)。这是错误的,预期的输出是3.91 MB,因为它除以1024,而不是1000。正确的方法是调用

代码语言:javascript
复制
 formatSizeUnits(4000*1024)  // beacuse 4000 is in KB and convert into bytes

请参阅下面的片段以获得正确的答案。

代码语言:javascript
复制
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));

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35623493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档