fix: legend CSS, SI prefix for x-axis ticks, table sort cleanup
This commit is contained in:
@@ -4,19 +4,20 @@ const SI_THRESHOLDS = [
|
||||
{ limit: 1_000, divisor: 1_000, suffix: 'K' },
|
||||
] as const;
|
||||
|
||||
export function formatSI(v: number, locale?: string): string {
|
||||
export function formatSI(v: number, locale?: string, fractionDigits?: number): string {
|
||||
const abs = Math.abs(v);
|
||||
const fd = fractionDigits ?? 3;
|
||||
for (const { limit, divisor, suffix } of SI_THRESHOLDS) {
|
||||
if (abs >= limit) {
|
||||
const formatted = new Intl.NumberFormat(locale, {
|
||||
maximumFractionDigits: 3,
|
||||
maximumFractionDigits: fd,
|
||||
minimumFractionDigits: 0,
|
||||
}).format(v / divisor);
|
||||
return `${formatted}${suffix}`;
|
||||
}
|
||||
}
|
||||
return new Intl.NumberFormat(locale, {
|
||||
maximumFractionDigits: 0,
|
||||
maximumFractionDigits: fractionDigits != null ? fractionDigits : 0,
|
||||
minimumFractionDigits: 0,
|
||||
}).format(v);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user