| | |
| | |
| | |
| | |
| | export function formatCurrency(value: number): string { |
| | const absValue = Math.abs(value); |
| | const sign = value < 0 ? "-" : ""; |
| |
|
| | if (absValue >= 1_000_000) { |
| | const formatted = (absValue / 1_000_000).toFixed( |
| | absValue >= 10_000_000 ? 1 : 2, |
| | ); |
| | |
| | const cleaned = formatted.replace(/\.?0+$/, ""); |
| | return `${sign}$${cleaned}M`; |
| | } |
| |
|
| | if (absValue >= 1_000) { |
| | const formatted = (absValue / 1_000).toFixed(absValue >= 100_000 ? 0 : 1); |
| | const cleaned = formatted.replace(/\.?0+$/, ""); |
| | return `${sign}$${cleaned}K`; |
| | } |
| |
|
| | return `${sign}$${Math.round(absValue)}`; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | export function formatPercent(value: number, showSign = false): string { |
| | const sign = showSign && value > 0 ? "+" : ""; |
| | return `${sign}${value.toFixed(1).replace(/\.0$/, "")}%`; |
| | } |
| |
|
| | |
| | |
| | |
| | export function formatCurrencySlider(value: number): string { |
| | if (value >= 1_000) { |
| | return `$${(value / 1_000).toFixed(0)}K`; |
| | } |
| | return `$${value}`; |
| | } |
| |
|