# General Translation Platform: formatCurrency URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/formatting/format-currency.mdx --- title: formatCurrency description: Formatea un valor monetario según la configuración regional en una instancia de GT. Referencia de API para formatCurrency. --- General Translation usa la API integrada `Intl.NumberFormat` con el estilo de moneda, por lo que los importes se muestran con el símbolo y el formato de agrupación y decimales adecuados para cada configuración regional. ## Resumen general [#overview] Llama a `formatCurrency` en una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor) con un valor numérico, un código de divisa ISO 4217 y, opcionalmente, un objeto de opciones. Devuelve la cadena monetaria localizada formateada. ```typescript const gt = new GT({ targetLocale: 'en-US' }); const price = gt.formatCurrency(1234.56, 'USD'); // "$1,234.56" ``` Firma: ```typescript formatCurrency( value: number, currency: string, options?: { locales?: string | string[] } & Intl.NumberFormatOptions ): string ``` *Nota: `formatCurrency` se ejecuta localmente con `Intl.NumberFormat` y no requiere una API key. De forma predeterminada, da formato según la configuración regional de destino de la instancia, y recurre primero a la configuración regional de origen y luego al valor predeterminado de la biblioteca (`en`); pasa `locales` para anularlo. Para dar formato sin una instancia de `GT`, consulta la versión independiente de [`formatCurrency`](/docs/platform/core/reference/utility-functions/formatting/format-currency).* ## Cómo funciona [#how-it-works] * **Estilo de Currency.** El formato se delega a [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) con `style: 'currency'` y el código `currency` proporcionado. * **Resolución de la configuración regional.** De forma predeterminada, el método aplica el formato según la configuración regional de destino de la instancia; si no está disponible, recurre primero a la configuración regional de origen y después al valor predeterminado de la biblioteca (`en`), no a la lista de configuración `locales`. Pasa `locales` en las opciones para anular este comportamiento. * **Posición del símbolo.** El símbolo de Currency, los separadores de agrupación y el formato decimal siguen la configuración regional resuelta, no el país de la moneda. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ----------------------- | -------------------------------------------------------------------------------------------------- | -------- | -------- | -------------- | | [`value`](#value) | El valor numérico que se va a formatear. | `number` | No | — | | [`currency`](#currency) | El código de divisa ISO 4217, como `USD` o `EUR`. | `string` | No | — | | [`options`](#options) | Configuración de formato que amplía `Intl.NumberFormatOptions` con una sobrescritura de `locales`. | `object` | Sí | — | ### `value` [#value] **Tipo** `number` · **Obligatorio** El valor numérico que se debe formatear. ### `currency` [#currency] **Tipo** `string` · **Obligatorio** El código de divisa ISO 4217, como `USD`, `EUR` o `JPY`. ### `options` [#options] **Tipo** `{ locales?: string | string[] } & Intl.NumberFormatOptions` · **Opcional** Configuración de formato. La tabla enumera las opciones de moneda comunes expuestas por los tipos Core publicados y sus valores predeterminados efectivos en Core. Consulta las [opciones del constructor `Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options) para obtener detalles complementarios sobre el estándar y específicos del Runtime. | Nombre | Descripción | Tipo | Opcional | Predeterminado | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------- | | `locales` | Reemplaza las configuraciones regionales usadas para el formateo. | `string \| string[]` | Sí | `targetLocale` → `sourceLocale` → `en` | | `localeMatcher` | Algoritmo de coincidencia de configuraciones regionales. | `'lookup' \| 'best fit'` | Sí | `'best fit'` | | `numberingSystem` | Sistema de numeración, como `latn` o `arab`. | `string` | Sí | `'latn'` | | `style` | Estilo de formato de números. `formatCurrency` proporciona el estilo de Currency, salvo que lo reemplaces. | `'decimal' \| 'currency' \| 'percent' \| 'unit'` | Sí | `'currency'` | | `currency` | Código de divisa ISO 4217 que utiliza el formateador. El argumento posicional `currency` proporciona este valor, salvo que lo reemplaces. | `string` | Sí | argumento posicional `currency` | | `currencyDisplay` | Cómo mostrar la divisa. | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'` | Sí | `'symbol'` | | `currencySign` | Signo de divisa que se utilizará. | `'standard' \| 'accounting'` | Sí | `'standard'` | | `unit` | Identificador de unidad. Obligatorio cuando `style` es `'unit'`. | `string` | Sí | — | | `unitDisplay` | Cómo mostrar la unidad. | `'short' \| 'narrow' \| 'long'` | Sí | `'short'` | | `minimumFractionDigits` | Número mínimo de dígitos fraccionarios (0–100). | `number` | Sí | dígitos de la unidad menor de la divisa; `0` con valores predeterminados compactos | | `maximumFractionDigits` | Número máximo de dígitos fraccionarios (0–100), como mínimo `minimumFractionDigits`. | `number` | Sí | dígitos de la unidad menor de la divisa; `0` con valores predeterminados compactos | | `minimumSignificantDigits` | Número mínimo de dígitos significativos (1–21), cuando está activo el redondeo por dígitos significativos. | `number` | Sí | `1` | | `maximumSignificantDigits` | Número máximo de dígitos significativos (1–21), cuando está activo el redondeo por dígitos significativos. | `number` | Sí | `21`; `2` con valores predeterminados compactos | | `roundingPriority` | Cómo interactúan los ajustes de dígitos fraccionarios y significativos. | `'auto' \| 'morePrecision' \| 'lessPrecision'` | Sí | `'auto'`; `'morePrecision'` con valores predeterminados compactos | | `roundingMode` | Modo de redondeo. | `'ceil' \| 'floor' \| 'expand' \| 'trunc' \| 'halfCeil' \| 'halfFloor' \| 'halfExpand' \| 'halfTrunc' \| 'halfEven'` | Sí | `'halfExpand'` | | `roundingIncrement` | Incremento de redondeo. Los valores distintos del predeterminado requieren que los dígitos fraccionarios mínimos y máximos efectivos sean iguales, y no pueden combinarse con el redondeo por dígitos significativos ni con una `roundingPriority` distinta de `'auto'`. | `1 \| 2 \| 5 \| 10 \| 20 \| 25 \| 50 \| 100 \| 200 \| 250 \| 500 \| 1000 \| 2000 \| 2500 \| 5000` | Sí | `1` | | `useGrouping` | Si se deben usar separadores de agrupación y cuándo. | `boolean \| 'always' \| 'auto' \| 'min2'` | Sí | `'auto'`; `'min2'` con valores predeterminados compactos | | `notation` | Formato de notación numérica. | `'standard' \| 'scientific' \| 'engineering' \| 'compact'` | Sí | `'standard'` | | `compactDisplay` | Estilo de visualización de la notación compacta. | `'short' \| 'long'` | Sí | `'short'` | | `signDisplay` | Cuándo mostrar el signo. | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'` | Sí | `'auto'` | | `trailingZeroDisplay` | Si se deben mostrar los ceros finales. | `'auto' \| 'stripIfInteger'` | Sí | `'auto'` | Cuando se establece `notation: 'compact'` sin ninguna opción de dígitos fraccionarios o significativos, los valores predeterminados efectivos son `minimumFractionDigits: 0`, `maximumFractionDigits: 0`, `minimumSignificantDigits: 1` y `maximumSignificantDigits: 2`. En ese caso, `roundingPriority` toma de forma predeterminada el valor `'morePrecision'` y `useGrouping`, el valor `'min2'`. Establecer `style: 'unit'` también requiere una `unit` válida. ## Returns [#returns] **Type** `string` El valor formateado como una cadena monetaria localizada. ## Ejemplos [#examples] ```typescript import { GT } from 'generaltranslation'; const gt = new GT({ targetLocale: 'en-US' }); // Configuración regional de destino de la instancia predeterminada console.log(gt.formatCurrency(1234.56, 'USD')); // Salida: "$1,234.56" // Sobrescribir la configuración regional por llamada console.log(gt.formatCurrency(1234.56, 'EUR', { locales: ['de-DE'] })); // Salida: "1.234,56 €" // Sin decimales console.log(gt.formatCurrency(1234, 'JPY', { locales: ['ja-JP'] })); // Salida: "¥1,234" ``` ## Notas [#notes] * El método usa internamente `Intl.NumberFormat` nativo del navegador, por lo que los importes siguen las convenciones de la configuración regional. * Pasa cualquier `Intl.NumberFormatOptions` (por ejemplo, `minimumFractionDigits`) junto con `locales` para ajustar con mayor precisión el resultado.