更改字节转换方法

This commit is contained in:
李志鹏
2026-04-23 17:03:45 +08:00
parent 09125378b6
commit 71cfef996d
2 changed files with 8 additions and 6 deletions

View File

@@ -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]}`;
}
}

View File

@@ -84,7 +84,7 @@
})
const allTotalSize = computed(() => {
const total = list.value.reduce((pre, cur) => pre + cur.fileSize, 0)
const str = FormatBytes(total)
const str = FormatBytes(total, { unitBig: true })
return {
size: str.split(' ')[0],
unit: str.split(' ')[1]