# General Translation Platform: formatNum
URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/formatting/format-num.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Da formato a números, monedas, porcentajes y valores numéricos sin necesidad de una instancia de GT. Referencia de la API de formatNum.

[`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) es una función de utilidad independiente de la biblioteca Core de General Translation que da formato a números según las convenciones específicas de la configuración regional. Devuelve una cadena con formato según la configuración regional para decimales, monedas, porcentajes y unidades.

## Descripción general [#overview]

Importa `formatNum` directamente desde `generaltranslation` y llámalo con el número que quieras formatear y un objeto de opciones. No requiere una clave de API ni una instancia de [GT](/docs/platform/core/reference/gt-class/constructor), así que úsalo donde necesites formatear un número de forma puntual. Si quieres un formateo basado en instancias que herede la configuración regional de la instancia, usa en su lugar el método [`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) de una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor).

```typescript
import { formatNum } from 'generaltranslation';

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

Firma:

```typescript
formatNum(
  number: number,
  options?: { locales?: string | string[] } & Intl.NumberFormatOptions
): string
```

## Cómo funciona [#how-it-works]

* **API subyacente.** Usa el mismo [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) que el método de la clase GT, por lo que admite todas las opciones estándar de `Intl.NumberFormat`.
* **Resolución de la configuración regional.** Cuando `locales` es un array, las configuraciones regionales se prueban en orden y se usa la primera compatible. Cuando se omite `locales`, se usa como valor predeterminado la configuración regional de la biblioteca, `en`.
* **Almacenamiento en caché.** Los resultados se almacenan internamente en caché para mejorar el rendimiento cuando se repiten las mismas combinaciones de configuración regional y opciones.

## Parámetros [#parameters]

| Parámetro             | Descripción                                                                                                             | Tipo                                                          | Opcional | Predeterminado |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | -------- | -------------- |
| [`number`](#number)   | El número que se va a formatear.                                                                                        | `number`                                                      | No       | —              |
| [`options`](#options) | La configuración de formato, incluidas las configuraciones regionales de destino y las opciones de `Intl.NumberFormat`. | `{ locales?: string \| string[] } & Intl.NumberFormatOptions` | Sí       | `{}`           |

### `number` [#number]

**Tipo** `number` · **Obligatorio**

El valor numérico que se debe formatear.

### `options` [#options]

**Tipo** `{ locales?: string | string[] } & Intl.NumberFormatOptions` · **Opcional** · **Predeterminado** `{}`

Configuración de formato. La tabla enumera las opciones comunes expuestas por los tipos Core publicados y sus valores predeterminados efectivos de Core. (Consulte 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 estándar y específicos del entorno de ejecución).

| Propiedad                  | Descripción                                                                                                                                                                                                                                                              | Tipo                                                                                                                 | Opcional | Predeterminado                                                                                                                        |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `locales`                  | Configuración o configuraciones regionales para el formateo. Si se pasa un array, se prueban en orden.                                                                                                                                                                   | `string \| string[]`                                                                                                 | Sí       | `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 formateo de números.                                                                                                                                                                                                                                           | `'decimal' \| 'currency' \| 'percent' \| 'unit'`                                                                     | Sí       | `'decimal'`                                                                                                                           |
| `currency`                 | Código de divisa ISO 4217 (obligatorio cuando `style` es `'currency'`).                                                                                                                                                                                                  | `string`                                                                                                             | Sí       | —                                                                                                                                     |
| `currencyDisplay`          | Cómo mostrar la divisa.                                                                                                                                                                                                                                                  | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'`                                                                     | Sí       | `'symbol'`                                                                                                                            |
| `currencySign`             | Signo de divisa que se usará.                                                                                                                                                                                                                                            | `'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'`                                                                                                                             |
| `minimumIntegerDigits`     | Número mínimo de dígitos enteros (1–21).                                                                                                                                                                                                                                 | `number`                                                                                                             | Sí       | `1`                                                                                                                                   |
| `minimumFractionDigits`    | Número mínimo de dígitos fraccionarios (0–100). El estilo determina el valor predeterminado.                                                                                                                                                                             | `number`                                                                                                             | Sí       | `0` para decimal/porcentaje; dígitos de la unidad menor de la divisa para moneda; `0` con valores predeterminados compactos           |
| `maximumFractionDigits`    | Número máximo de dígitos fraccionarios (0–100). El estilo y el mínimo determinan el valor predeterminado.                                                                                                                                                                | `number`                                                                                                             | Sí       | `3` para decimal; `0` para porcentaje; dígitos de la unidad menor de la divisa para moneda; `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                                                                     |
| `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'`                                                                                                                             |
| `useGrouping`              | Si se usan separadores de agrupación y cuándo.                                                                                                                                                                                                                           | `boolean \| 'always' \| 'auto' \| 'min2'`                                                                            | Sí       | `'auto'`; `'min2'` con notación compacta                                                                                              |
| `signDisplay`              | Cuándo mostrar el signo.                                                                                                                                                                                                                                                 | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'`                                                        | Sí       | `'auto'`                                                                                                                              |
| `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 se pueden combinar 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`                                                                                                                                   |
| `trailingZeroDisplay`      | Si se muestran ceros finales.                                                                                                                                                                                                                                            | `'auto' \| 'stripIfInteger'`                                                                                         | Sí       | `'auto'`                                                                                                                              |

Cuando se establece `notation: 'compact'` sin ninguna opción de dígitos fraccionarios o significativos, los valores efectivos predeterminados 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'`.

## Devuelve [#returns]

**Tipo** `string`

El número con el formato correspondiente según las convenciones de la configuración regional.

## Ejemplos [#examples]

```typescript
import { formatNum } from 'generaltranslation';

// Formato numérico básico
console.log(formatNum(1234.567, { locales: 'en-US' }));
// Salida: "1,234.567"

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

```typescript
// Formato de moneda

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

// Euro con configuración regional alemana
console.log(formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR',
}));
// Salida: "1.234,56 €"

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

## Notas [#notes]

* Usa el mismo `Intl.NumberFormat` subyacente que el método de la clase GT.
* Los resultados se almacenan en caché internamente para mejorar el rendimiento cuando se repiten las combinaciones de configuración regional y opciones.
* Las configuraciones regionales de respaldo se procesan en orden si la configuración regional principal no es compatible.
* Se admiten todas las opciones estándar de `Intl.NumberFormat`.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
