• JS格式化文件大小 单位:Bytes、KB、MB、GB


    输入一个表示文件大小的数字,自适应转换到KB,MB,GB

      方法一:bytes自适应转换到KB,MB,GB

    /// <summary>
    /// 格式化文件大小的JS方法
    /// </summary>
    /// <param name="filesize">文件的大小,传入的是一个bytes为单位的参数</param>
    /// <returns>格式化后的值</returns>
    function renderSize(filesize){
        if(null==value||value==''){
            return "0 Bytes";
        }
        var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
        var index=0;
        var srcsize = parseFloat(value);
        index=Math.floor(Math.log(srcsize)/Math.log(1024));
        var size =srcsize/Math.pow(1024,index);
        size=size.toFixed(2);//保留的小数位数
        return size+unitArr[index];
    }

      方法二:bytes自适应转换到KB,MB,GB

    function formatFileSize(fileSize) {
        if (fileSize < 1024) {
            return fileSize + 'B';
        } else if (fileSize < (1024*1024)) {
            var temp = fileSize / 1024;
            temp = temp.toFixed(2);
            return temp + 'KB';
        } else if (fileSize < (1024*1024*1024)) {
            var temp = fileSize / (1024*1024);
            temp = temp.toFixed(2);
            return temp + 'MB';
        } else {
            var temp = fileSize / (1024*1024*1024);
            temp = temp.toFixed(2);
            return temp + 'GB';
        }
    }

      方法三:可以设定输入的文件长度的参数的原始单位,自适应转换到KB,MB,GB

    /**
     * [fileLengthFormat 格式化文件大小]
     * @param  {[int]} total [文件大小]
     * @param  {[int]} n     [total参数的原始单位如果为Byte,则n设为1,如果为kb,则n设为2,如果为mb,则n设为3,以此类推]
     * @return {[string]}       [带单位的文件大小的字符串]
     */
    function fileLengthFormat(total, n) {
        var format;
        var len = total / (1024.0);
        if (len > 1000) {
            return arguments.callee(len, ++n);
        } else {
            switch (n) {
                case 1:
                    format = len.toFixed(2) + "KB";
                    break;
                case 2:
                    format = len.toFixed(2) + "MB";
                    break;
                case 3:
                    format = len.toFixed(2) + "GB";
                    break;
                case 4:
                    format = len.toFixed(2) + "TB";
                    break;
            }
            return format;
        }
    }
    //假如文件大小为1024byte,想自适应到kb,则如下传参
    fileLengthFormat(1024,1);//"1.00KB"
    //假如文件大小为1024kb,想自适应到mb,则如下传参
    fileLengthFormat(1024,2);//"1.00MB"
    //测试
    fileLengthFormat(112233445566,1);//"104.53GB"
  • 相关阅读:
    下个月去北京了,心如一团乱麻好多事情要解决,但是不知道从哪里开始,还是顺其自然吧,一件件的解决
    C# SQLServer 数据库连接类
    C#页面缓存写法
    从北京站到天通苑怎么走,
    工作描述的介绍|如何写工作描述
    网线制作方法|国标网线制作方法|常用的网线制作方法
    递归删除空文件夹
    如何使用股票行情软件看股票
    正则批量验证函数
    简单的游标更新日期例子
  • 原文地址:https://www.cnblogs.com/cherylgi/p/15464726.html
Copyright © 2020-2023  润新知