JS - 字节转换

js方法:字节转换

1,字节各转换单位如下

1字节(Byte) = 8(bit)
1KB( KB,千字节) = 1024B
1MB( MB,兆字节) = 1024K
1GB( GB,吉字节,千兆) = 1024MB
1TB( TB,万亿字节,太字节) = 1024G

2,转换如下

1,第一种方式:--------------------------------------------
const filterSize = (size) => {
    if (!size) return ''
    if (size < pow1024(1)) return size + ' B'
    if (size < pow1024(2)) return (size / pow1024(1)).toFixed(2) + ' KB'
    if (size < pow1024(3)) return (size / pow1024(2)).toFixed(2) + ' MB'
    if (size < pow1024(4)) return (size / pow1024(3)).toFixed(2) + ' GB'
    return (size / pow1024(4)).toFixed(2) + ' TB'
}

 求次幂
  num = 1 代表 1024
  num = 2 代表 1024*1024
  num = 3 代表 1024*1024*1024 依次类推
function pow1024(num) {
    return Math.pow(1024, num)
}


2,第二种方式--------------------------------------------

// toFixed(2) 四舍五入 2是保留的小数
const formatSize = (limit) => {
    if (!limit || Number(limit) == 0) return ''
    limit = Number(limit)
    // 将size B转换成 M
    var size = ''
    if (limit < 1 * 1024) {
        //小于1KB,则转化成B
        size = limit.toFixed(2) + 'B'
    } else if (limit < 1 * 1024 * 1024) {
        //小于1MB,则转化成KB
        size = (limit / 1024).toFixed(2) + 'KB'
    } else if (limit < 1 * 1024 * 1024 * 1024) {
        //小于1GB,则转化成MB
        size = (limit / (1024 * 1024)).toFixed(2) + 'MB'
    } else {
        //其他转化成GB
        size = (limit / (1024 * 1024 * 1024)).toFixed(2) + 'GB'
    }

    var sizeStr = size + '' //转成字符串
    var index = sizeStr.indexOf('.') //获取小数点处的索引
    var dou = sizeStr.substr(index + 1, 2) //获取小数点后两位的值
    if (dou == '00') {
        //判断后两位是否为00,如果是则删除00
        return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2)
    }
    return size
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值