formatNum
Referencia de API del método formatNum para formatear números según las convenciones de la locale
Descripción general
El método formatNum da formato a los números según las convenciones específicas de la locale usando la API de Internacionalización.
Gestiona automáticamente los separadores decimales, los separadores de miles y los sistemas de numeración en función de la locale de destino.
const gt = new GT({ targetLocale: 'de' });
const formatted = gt.formatNum(1234.56, {
  style: 'decimal',
  minimumFractionDigits: 2
});
// Devuelve: "1.234,56" (formato numérico en alemán)Referencias
Parámetros
| Nombre | Tipo | Descripción | 
|---|---|---|
| number | number | Número que se va a formatear | 
| options? | NumberFormatOptions | Configuración opcional de formato | 
NumberFormatOptions
Amplía Intl.NumberFormatOptions con una especificación adicional de locale:
| Nombre | Tipo | Descripción | 
|---|---|---|
| locales? | string | string[] | Sobrescribe los locales para el formato (por defecto, los locales de la instancia) | 
| style? | 'decimal' | 'currency' | 'percent' | 'unit' | Estilo de formato numérico | 
| currency? | string | Código de moneda (obligatorio cuando style es 'currency') | 
| currencyDisplay? | 'symbol' | 'narrowSymbol' | 'code' | 'name' | Cómo mostrar la moneda | 
| currencySign? | 'standard' | 'accounting' | Signo de moneda que se usará | 
| unit? | string | Identificador de unidad (obligatorio cuando style es 'unit') | 
| unitDisplay? | 'short' | 'narrow' | 'long' | Cómo mostrar la unidad | 
| minimumIntegerDigits? | number | Número mínimo de dígitos enteros (1‑21) | 
| minimumFractionDigits? | number | Número mínimo de dígitos fraccionarios (0‑20) | 
| maximumFractionDigits? | number | Número máximo de dígitos fraccionarios (0‑20) | 
| minimumSignificantDigits? | number | Número mínimo de dígitos significativos (1‑21) | 
| maximumSignificantDigits? | number | Número máximo de dígitos significativos (1‑21) | 
| useGrouping? | boolean | 'always' | 'auto' | 'min2' | Si se usan separadores de agrupación | 
| notation? | 'standard' | 'scientific' | 'engineering' | 'compact' | Formato de notación numérica | 
| compactDisplay? | 'short' | 'long' | Estilo de visualización de la notación compacta | 
| signDisplay? | 'auto' | 'never' | 'always' | 'exceptZero' | Cuándo mostrar el signo | 
| roundingMode? | 'ceil' | 'floor' | 'expand' | 'trunc' | 'halfCeil' | 'halfFloor' | 'halfExpand' | 'halfTrunc' | 'halfEven' | Modo de redondeo | 
| roundingIncrement? | 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | Incremento de redondeo | 
| trailingZeroDisplay? | 'auto' | 'stripIfInteger' | Si se muestran los ceros finales | 
Devuelve
string - El número formateado según las convenciones de la locale.
Ejemplos
Formato básico de números
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
// Formato decimal básico
console.log(gt.formatNum(1234.567));
// Resultado: "1,234.567"
// Formato para la configuración regional alemana
console.log(gt.formatNum(1234.567, { locales: 'de-DE' }));
// Resultado: "1.234,567"
// Formato para la configuración regional francesa  
console.log(gt.formatNum(1234.567, { locales: 'fr-FR' }));
// Resultado: "1 234,567"Formato de moneda
// Formato de dólar estadounidense
console.log(gt.formatNum(1234.56, {
  style: 'currency',
  currency: 'USD'
}));
// Resultado: "$1,234.56"
// Formato de euro con locale alemán
console.log(gt.formatNum(1234.56, {
  style: 'currency',
  currency: 'EUR',
  locales: 'de-DE'
}));
// Resultado: "1.234,56 €"
// Opciones de visualización de la moneda
console.log(gt.formatNum(1234.56, {
  style: 'currency',
  currency: 'USD',
  currencyDisplay: 'code'
}));
// Resultado: "USD 1,234.56"
// Formato contable (paréntesis para negativos)
console.log(gt.formatNum(-1234.56, {
  style: 'currency',
  currency: 'USD',
  currencySign: 'accounting'
}));
// Resultado: "($1,234.56)"Porcentajes y notación científica
// Porcentaje básico
console.log(gt.formatNum(0.1234, { style: 'percent' }));
// Resultado: "12%"
// Porcentaje con decimales
console.log(gt.formatNum(0.1234, {
  style: 'percent',
  minimumFractionDigits: 1,
  maximumFractionDigits: 2
}));
// Resultado: "12.34%"
// Notación compacta
console.log(gt.formatNum(1234567, { notation: 'compact' }));
// Resultado: "1.2M"
// Notación científica
console.log(gt.formatNum(1234567, { notation: 'scientific' }));
// Resultado: "1.235E6"Notas
- El formato de números sigue automáticamente las convenciones específicas del locale
- El método utiliza la API nativa del navegador Intl.NumberFormatpara un rendimiento y una precisión óptimos
- El formato de moneda requiere tanto style: 'currency'como un códigocurrencyválido
- El formato de unidades requiere tanto style: 'unit'como un identificadorunitválido
Próximos pasos
- Consulta la documentación de Intl.NumberFormatpara más options
- Consulta format-currencypara un formateo especializado de moneda
- Consulta format-messagepara el formateo de mensajes con interpolación numérica
- Consulta format-numpara usarlo sin una instancia de GT
- Consulta get-locale-propertiespara información de formateo específica de la locale
¿Qué te ha parecido esta guía?

