js格式化文件大小, 输出成带单位的字符串工具

本文介绍了一种将文件大小转换为易于理解的带单位字符串的方法。该方法支持自定义小数点精度及单位,适用于从字节到TB级别的文件大小展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
		 * 格式化文件大小, 输出成带单位的字符串
		 * @method formatSize
		 * @grammar formatSize( size ) => String
		 * @grammar formatSize( size, pointLength ) => String
		 * @grammar formatSize( size, pointLength, units ) => String
		 * @param {Number} size 文件大小
		 * @param {Number} [pointLength=2] 精确到的小数点数。
		 * @param {Array} [units=[ 'B', 'K', 'M', 'G', 'TB' ]] 单位数组。从字节,到千字节,一直往上指定。如果单位数组里面只指定了到了K(千字节),同时文件大小大于M, 此方法的输出将还是显示成多少K.
		 * @example
		 * console.log( formatSize( 100 ) );    // => 100B
		 * console.log( formatSize( 1024 ) );    // => 1.00K
		 * console.log( formatSize( 1024, 0 ) );    // => 1K
		 * console.log( formatSize( 1024 * 1024 ) );    // => 1.00M
		 * console.log( formatSize( 1024 * 1024 * 1024 ) );    // => 1.00G
		 * console.log( formatSize( 1024 * 1024 * 1024, 0, ['B', 'KB', 'MB'] ) );    // => 1024MB
		 */
		formatSize = function(size, pointLength, units) {
			var unit;
			units = units || [ 'B', 'K', 'M', 'G', 'TB' ];
			while ((unit = units.shift()) && size > 1024) {
				size = size / 1024;
			}
			return (unit === 'B' ? size : size.toFixed(pointLength || 2))
					+ unit;
		};

转载于:https://www.cnblogs.com/baryon/p/9611411.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值