Utility FunctionsFormatting

formatNum

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

Descripción general

La función independiente formatNum da formato a números según las convenciones específicas de cada locale sin requerir una instancia de GT. Ofrece la misma funcionalidad que el método de la GT class, 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

NameTypeDescription
numbernumberNúmero a formatear
optionsNumberFormatOptions & { locales: string | string[] }Configuración de formato con locales requeridos

NumberFormatOptions

NameTypeDescripción
localesstring | string[]Obligatorio: configuraciones regionales para el formateo
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 fraccionarios (0-20)
maximumFractionDigits?numberNúmero máximo de dígitos fraccionarios (0-20)
useGrouping?boolean | 'always' | 'auto' | 'min2'Si se usan 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 del locale.


Ejemplo

Uso básico

import { formatNum } from 'generaltranslation';

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

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

Formato de divisas

// 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 la misma 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
  • Las locales de contenido de respaldo predeterminado se procesan en orden si la locale principal no es compatible
  • Se admiten todas las options estándar de Intl.NumberFormat

Próximos pasos

¿Qué te parece esta guía?

formatNum