/** * Number formatting helpers. * Default locale is es-ES (thousands "·" comma decimals). Change locale per project as needed. * Negative sign uses Unicode minus U+2212, not hyphen. * Positive deltas prefix "+". */ export function formatNumber(value: number, decimals = 0, locale = "es-ES"): string { return value.toLocaleString(locale, { minimumFractionDigits: decimals, maximumFractionDigits: decimals, }); } export function formatDelta(value: number, decimals = 0, withPercent = true, locale = "es-ES"): string { const abs = Math.abs(value); const formatted = formatNumber(abs, decimals, locale); const sign = value < 0 ? "−" : value > 0 ? "+" : ""; return `${sign}${formatted}${withPercent ? "%" : ""}`; }