更改字节转换方法
This commit is contained in:
@@ -197,15 +197,17 @@ export function CountDown(time: number) {
|
||||
/**
|
||||
* 字节转换为可读格式
|
||||
* @param {number} bytes - 字节数
|
||||
* @param {number} decimals - 保留小数位数,默认2位
|
||||
* @param {number} options - 选项对象
|
||||
* @param {number} options.decimals - 保留小数位数,默认2位
|
||||
* @param {boolean} options.unitBig - 是否使用大写单位,默认false
|
||||
* @returns {string} 格式化后的字符串
|
||||
*/
|
||||
export function FormatBytes(bytes, decimals = 2) {
|
||||
if (bytes === 0) return '0 B';
|
||||
export function FormatBytes(bytes, options: { decimals?: number, unitBig?: boolean } = {}) {
|
||||
if (!bytes || isNaN(bytes)) return '0 B';
|
||||
const { decimals = 2, unitBig = false } = options;
|
||||
const k = 1024;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
||||
const sizes = unitBig ? ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['b', 'kb', 'mb', 'gb', 'tb', 'pb', 'eb', 'zb', 'yb'];
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
const value = bytes / Math.pow(k, i);
|
||||
return `${Number(value.toFixed(decimals))} ${sizes[i]}`;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user