mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 21:20:29 +08:00
32 lines
887 B
TypeScript
32 lines
887 B
TypeScript
export function calcTraffic(byte: number): string {
|
|
if (byte < 1024) return `${byte} B`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} KB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} MB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} GB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} TB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} PB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} EB`
|
|
byte /= 1024
|
|
if (byte < 1024) return `${formatNumString(byte)} ZB`
|
|
byte /= 1024
|
|
return `${formatNumString(byte)} YB`
|
|
}
|
|
|
|
function formatNumString(num: number): string {
|
|
let str = num.toFixed(2)
|
|
if (str.length <= 5) return str
|
|
if (str.length == 6) {
|
|
str = num.toFixed(1)
|
|
return str
|
|
} else {
|
|
str = Math.round(num).toString()
|
|
return str
|
|
}
|
|
}
|