30 lines
785 B
TypeScript
30 lines
785 B
TypeScript
export function formatTokenTotal(value: number): string {
|
|
if (value >= 1_000_000_000) {
|
|
return `${(value / 1_000_000_000).toFixed(1)}B`
|
|
}
|
|
if (value >= 1_000_000) {
|
|
return `${(value / 1_000_000).toFixed(1)}M`
|
|
}
|
|
if (value >= 1_000) {
|
|
return `${(value / 1_000).toFixed(0)}K`
|
|
}
|
|
return value.toLocaleString()
|
|
}
|
|
|
|
export function formatCompactCount(value: number): string {
|
|
if (value >= 1_000_000_000) {
|
|
return `${(value / 1_000_000_000).toFixed(1)}B`
|
|
}
|
|
if (value >= 1_000_000) {
|
|
return `${(value / 1_000_000).toFixed(1)}M`
|
|
}
|
|
if (value >= 10_000) {
|
|
return `${Math.round(value / 1_000)}K`
|
|
}
|
|
if (value >= 1_000) {
|
|
const label = `${(value / 1_000).toFixed(1)}K`
|
|
return label.replace(/\.0K$/, "K")
|
|
}
|
|
return value.toLocaleString()
|
|
}
|