Utility FunctionsFormatting

formatNum

Función independiente para formatear números según las convenciones de la locale

Descripción general

La función independiente formatNum formatea números según las convenciones específicas del locale sin requerir una instancia de GT. Ofrece la misma funcionalidad que el método de la clase GT, pero puede usarse de forma independiente.

import { formatNum } from 'generaltranslation';

const formatted = formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR'
});
// Devuelve: "1.234,56 €"

Referencias

Parámetros

NombreTipoDescripción
numbernumberEl número que se debe formatear
optionsNumberFormatOptions & { locales: string | string[] }Configuración de formato con locales obligatorios

NumberFormatOptions

NombreTipoDescripción
localesstring | string[]Obligatorio: locales para el formato
style?'decimal' | 'currency' | 'percent' | 'unit'Estilo de formato numérico
currency?stringCódigo de moneda (obligatorio cuando style es 'currency')
minimumIntegerDigits?numberNúmero mínimo de dígitos enteros (1‑21)
minimumFractionDigits?numberNúmero mínimo de dígitos decimales (0‑20)
maximumFractionDigits?numberNúmero máximo de dígitos decimales (0‑20)
useGrouping?boolean | 'always' | 'auto' | 'min2'Si usar separadores de agrupación
notation?'standard' | 'scientific' | 'engineering' | 'compact'Formato de notación numérica

Devuelve

string - El número formateado según las convenciones de la locale.


Ejemplo

Uso básico

import { formatNum } from 'generaltranslation';

// Formateo básico de números
console.log(formatNum(1234.567, { locales: 'en-US' }));
// Resultado: "1,234.567"

// Formateo alemán
console.log(formatNum(1234.567, { locales: 'de-DE' }));
// Resultado: "1.234,567"

Formateo de moneda

// Dólar estadounidense
console.log(formatNum(1234.56, {
  locales: 'en-US',
  style: 'currency',
  currency: 'USD'
}));
// Resultado: "$1,234.56"

// Euro con locale alemán
console.log(formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR'
}));
// Resultado: "1.234,56 €"

// Yen japonés
console.log(formatNum(1234.56, {
  locales: 'ja-JP',
  style: 'currency',
  currency: 'JPY'
}));
// Resultado: "¥1,235"

Notas

  • A diferencia del método de la GT class, el parámetro locales es obligatorio
  • Utiliza el mismo Intl.NumberFormat subyacente que el método de la GT class
  • Los resultados se almacenan en caché internamente para mejorar el rendimiento con combinaciones repetidas de locale/options
  • Los locales de contenido de respaldo predeterminado se procesan en orden si la locale principal no es compatible
  • Se admiten todas las opciones estándar de Intl.NumberFormat

Próximos pasos

¿Qué te ha parecido esta guía?

formatNum