# generaltranslation: General Translation Core SDK: formatNum URL: https://generaltranslation.com/es/docs/core/class/methods/formatting/format-num.mdx --- title: formatNum description: Referencia de la API del método formatNum para formatear números según las convenciones de la configuración regional --- ## Descripción general El método `formatNum` formatea números según las convenciones de la configuración regional mediante 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 configuración regional de destino. ```typescript const gt = new GT({ targetLocale: 'de' }); const formatted = gt.formatNum(1234.56, { style: 'decimal', minimumFractionDigits: 2 }); // Devuelve: "1.234,56" (formato numérico alemán) ``` ## Referencia ### Parámetros | Nombre | Tipo | Descripción | | ---------- | --------------------- | --------------------------------- | | `number` | `number` | El número que se debe formatear | | `options?` | `NumberFormatOptions` | Configuración de formato opcional | ### NumberFormatOptions Extiende `Intl.NumberFormatOptions` con una especificación de configuración regional adicional: | Name | Type | Description | | --------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | `locales?` | `string \| string[]` | Sobrescribe `locales` para el formato (por defecto, usa `locales` de la instancia) | | `style?` | `'decimal' \| 'currency' \| 'percent' \| 'unit'` | Estilo de formato numérico | | `currency?` | `string` | Código de Currency (obligatorio cuando `style` es 'currency') | | `currencyDisplay?` | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'` | Cómo mostrar la Currency | | `currencySign?` | `'standard' \| 'accounting'` | Signo de Currency que se debe 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 cifras significativas (1-21) | | `maximumSignificantDigits?` | `number` | Número máximo de cifras significativas (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 ceros finales | ### Devuelve `cadena` - El número formateado de acuerdo con las convenciones de la configuración regional. *** ## Ejemplos ### Formato básico de números ```typescript copy import { GT } from 'generaltranslation'; const gt = new GT({ targetLocale: 'en-US' }); // Formato decimal básico console.log(gt.formatNum(1234.567)); // Output: "1,234.567" // Formato con configuración regional alemana console.log(gt.formatNum(1234.567, { locales: 'de-DE' })); // Output: "1.234,567" // Formato con configuración regional francesa console.log(gt.formatNum(1234.567, { locales: 'fr-FR' })); // Output: "1 234,567" ``` ### Formato de Currency ```typescript copy // Formato de dólar estadounidense console.log(gt.formatNum(1234.56, { style: 'currency', currency: 'USD' })); // Output: "$1,234.56" // Formato de euro con configuración regional alemana console.log(gt.formatNum(1234.56, { style: 'currency', currency: 'EUR', locales: 'de-DE' })); // Output: "1.234,56 €" // Opciones de visualización de Currency console.log(gt.formatNum(1234.56, { style: 'currency', currency: 'USD', currencyDisplay: 'code' })); // Output: "USD 1,234.56" // Formato contable (paréntesis para negativos) console.log(gt.formatNum(-1234.56, { style: 'currency', currency: 'USD', currencySign: 'accounting' })); // Output: "($1,234.56)" ``` ### Porcentajes y notación científica ```typescript copy // Porcentaje básico console.log(gt.formatNum(0.1234, { style: 'percent' })); // Salida: "12%" // Porcentaje con decimales console.log(gt.formatNum(0.1234, { style: 'percent', minimumFractionDigits: 1, maximumFractionDigits: 2 })); // Salida: "12.34%" // Notación compacta console.log(gt.formatNum(1234567, { notation: 'compact' })); // Salida: "1.2M" // Notación científica console.log(gt.formatNum(1234567, { notation: 'scientific' })); // Salida: "1.235E6" ``` *** ## Notas * El formato de los números sigue automáticamente las convenciones específicas de la configuración regional * El método usa `Intl.NumberFormat` nativo del navegador para obtener un rendimiento y una precisión óptimos * El formato de Currency requiere tanto `style: 'currency'` como un código `currency` válido * El formato de unidades requiere tanto `style: 'unit'` como un identificador `unit` válido ## Siguientes pasos * Consulta la documentación de [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) para conocer más opciones * Consulta [`format-message`](/docs/core/class/methods/formatting/format-message) para dar formato a mensajes con interpolación de números * Consulta el [`format-num`](/docs/core/functions/formatting/format-num) autónomo para usarlo sin una instancia de GT * Consulta [`get-locale-properties`](/docs/core/class/methods/locales/get-locale-properties) para obtener información de formato específica de la configuración regional