js里面有现成的库函数用来做内存单位转换么?给个数字转成KB/MB/GB/TB

js里面有现成的库函数用来做内存单位转换么?给个数字转成KB/MB/GB/TB

阅读 4.6k
3 个回答

自己写一个吧,字节数转为kb/mb/gb/tb
//文件大小从字节数格式化为kb,mb,gb,tb 精确到一位小数,小于0.1kb的转为0

const formatFileSize = size => {
  const scale = 1000
  const digitList = ['K', 'M', 'G', 'T']
  let residue = Math.round(size%scale/100)//小数点后数,1位
  let _integer = Math.round(size/scale) //最小单位kb
  let digit = 0
  while(_integer > scale) {
    residue = Math.round(_integer%scale/100)
    _integer = Math.round(_integer/scale)
    digit++
  }
  return `${_integer}.${residue}${digitList[digit]}B`
}

自己写一个吧

var filters = {
    'fmt_bytes': function (v) {
      var UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'];
      var prev = 0, i = 0;
      while (Math.floor(v) > 0 && i < UNITS.length) {
        prev = v;
        v /= 1024;
        i += 1;
      }
 
      if (i > 0 && i < UNITS.length) {
        v = prev;
        i -= 1;
      }
      return Math.round(v * 100) / 100 + ' ' + UNITS[i];
    },
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题