# General Translation Platform: formatNum
URL: https://generaltranslation.com/it/docs/platform/core/reference/utility-functions/formatting/format-num.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta numeri, valute, percentuali e valori numerici senza un'istanza di GT. Riferimento API per formatNum.

[`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) è una funzione di utilità indipendente della libreria core di General Translation che formatta i numeri secondo convenzioni specifiche dell&#39;impostazione regionale. Restituisce una stringa adattata all&#39;impostazione regionale per decimali, valute, percentuali e unità.

## Panoramica [#overview]

Importa `formatNum` direttamente da `generaltranslation` e chiamalo con il numero da formattare e un oggetto options. Non richiede una chiave API né un&#39;istanza di [GT](/docs/platform/core/reference/gt-class/constructor), quindi usalo ovunque ti serva formattare un numero una tantum. Per una formattazione tramite istanza che eredita l&#39;impostazione regionale dell&#39;istanza, usa invece il metodo [`formatNum`](/docs/platform/core/reference/gt-class-methods/formatting/format-num) su un&#39;istanza di [`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',
});
// Restituisce: "1.234,56 €"
```

Sintassi:

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

## Come funziona [#how-it-works]

* **API sottostante.** Usa lo stesso [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) del metodo della classe GT, quindi supporta tutte le opzioni standard di `Intl.NumberFormat`.
* **Risoluzione dell&#39;impostazione regionale.** Quando `locales` è un array, le impostazioni regionali vengono provate in ordine e viene usata la prima impostazione regionale supportata. Quando `locales` viene omesso, viene usata come fallback l&#39;impostazione regionale predefinita della libreria, `en`.
* **Caching.** I risultati vengono memorizzati internamente nella cache per ottimizzare le prestazioni quando si ripetono le stesse combinazioni di impostazioni regionali e opzioni.

## Parametri [#parameters]

| Parametro             | Descrizione                                                                                                                     | Tipo                                                          | Facoltativo | Predefinito |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ----------- | ----------- |
| [`number`](#number)   | Il numero da formattare.                                                                                                        | `number`                                                      | No          | —           |
| [`options`](#options) | Configurazione di formattazione, incluse le impostazioni regionali di destinazione ed eventuali opzioni di `Intl.NumberFormat`. | `{ locales?: string \| string[] } & Intl.NumberFormatOptions` | Sì          | `{}`        |

### `number` [#number]

**Tipo** `number` · **Obbligatorio**

Valore numerico da formattare.

### `options` [#options]

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

Configurazione di formattazione. La tabella elenca le opzioni comuni esposte dai tipi Core pubblicati e i rispettivi valori predefiniti effettivi di Core. (Per ulteriori dettagli standard e specifici del runtime, consulta le [opzioni del costruttore `Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options)).

| Proprietà                  | Descrizione                                                                                                                                                                                                                                                                                         | Tipo                                                                                                                 | Facoltativo | Predefinito                                                                                                                                            |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `locales`                  | Impostazioni regionali per la formattazione. Se viene passato un array, vengono provate nell&#39;ordine indicato.                                                                                                                                                                                   | `string \| string[]`                                                                                                 | Sì          | `en`                                                                                                                                                   |
| `localeMatcher`            | Algoritmo di corrispondenza delle impostazioni regionali.                                                                                                                                                                                                                                           | `'lookup' \| 'best fit'`                                                                                             | Sì          | `'best fit'`                                                                                                                                           |
| `numberingSystem`          | Sistema di numerazione, ad esempio `latn` o `arab`.                                                                                                                                                                                                                                                 | `string`                                                                                                             | Sì          | `'latn'`                                                                                                                                               |
| `style`                    | Stile di formattazione dei numeri.                                                                                                                                                                                                                                                                  | `'decimal' \| 'currency' \| 'percent' \| 'unit'`                                                                     | Sì          | `'decimal'`                                                                                                                                            |
| `currency`                 | Codice valuta (obbligatorio quando `style` è `'currency'`).                                                                                                                                                                                                                                         | `string`                                                                                                             | Sì          | —                                                                                                                                                      |
| `currencyDisplay`          | Modalità di visualizzazione della valuta.                                                                                                                                                                                                                                                           | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'`                                                                     | Sì          | `'symbol'`                                                                                                                                             |
| `currencySign`             | Segno monetario da utilizzare.                                                                                                                                                                                                                                                                      | `'standard' \| 'accounting'`                                                                                         | Sì          | `'standard'`                                                                                                                                           |
| `unit`                     | Identificatore dell&#39;unità (obbligatorio quando `style` è `'unit'`).                                                                                                                                                                                                                             | `string`                                                                                                             | Sì          | —                                                                                                                                                      |
| `unitDisplay`              | Modalità di visualizzazione dell&#39;unità.                                                                                                                                                                                                                                                         | `'short' \| 'narrow' \| 'long'`                                                                                      | Sì          | `'short'`                                                                                                                                              |
| `minimumIntegerDigits`     | Numero minimo di cifre intere (1–21).                                                                                                                                                                                                                                                               | `number`                                                                                                             | Sì          | `1`                                                                                                                                                    |
| `minimumFractionDigits`    | Numero minimo di cifre frazionarie (0–100). Lo stile influisce sul valore predefinito.                                                                                                                                                                                                              | `number`                                                                                                             | Sì          | `0` per decimali e percentuali; numero di cifre dell&#39;unità minore per le valute; `0` con i valori predefiniti della notazione compatta             |
| `maximumFractionDigits`    | Numero massimo di cifre frazionarie (0–100). Lo stile e il valore minimo influiscono sul valore predefinito.                                                                                                                                                                                        | `number`                                                                                                             | Sì          | `3` per i decimali; `0` per le percentuali; numero di cifre dell&#39;unità minore per le valute; `0` con i valori predefiniti della notazione compatta |
| `minimumSignificantDigits` | Numero minimo di cifre significative (1–21), quando è attivo l&#39;arrotondamento a cifre significative.                                                                                                                                                                                            | `number`                                                                                                             | Sì          | `1`                                                                                                                                                    |
| `maximumSignificantDigits` | Numero massimo di cifre significative (1–21), quando è attivo l&#39;arrotondamento a cifre significative.                                                                                                                                                                                           | `number`                                                                                                             | Sì          | `21`; `2` con i valori predefiniti della notazione compatta                                                                                            |
| `roundingPriority`         | Modalità di interazione tra le impostazioni delle cifre frazionarie e significative.                                                                                                                                                                                                                | `'auto' \| 'morePrecision' \| 'lessPrecision'`                                                                       | Sì          | `'auto'`; `'morePrecision'` con i valori predefiniti della notazione compatta                                                                          |
| `notation`                 | Formato di notazione dei numeri.                                                                                                                                                                                                                                                                    | `'standard' \| 'scientific' \| 'engineering' \| 'compact'`                                                           | Sì          | `'standard'`                                                                                                                                           |
| `compactDisplay`           | Stile di visualizzazione della notazione compatta.                                                                                                                                                                                                                                                  | `'short' \| 'long'`                                                                                                  | Sì          | `'short'`                                                                                                                                              |
| `useGrouping`              | Se e quando utilizzare i separatori di raggruppamento.                                                                                                                                                                                                                                              | `boolean \| 'always' \| 'auto' \| 'min2'`                                                                            | Sì          | `'auto'`; `'min2'` con la notazione compatta                                                                                                           |
| `signDisplay`              | Quando visualizzare il segno.                                                                                                                                                                                                                                                                       | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'`                                                        | Sì          | `'auto'`                                                                                                                                               |
| `roundingMode`             | Modalità di arrotondamento.                                                                                                                                                                                                                                                                         | `'ceil' \| 'floor' \| 'expand' \| 'trunc' \| 'halfCeil' \| 'halfFloor' \| 'halfExpand' \| 'halfTrunc' \| 'halfEven'` | Sì          | `'halfExpand'`                                                                                                                                         |
| `roundingIncrement`        | Incremento di arrotondamento. I valori diversi da quello predefinito richiedono che il numero effettivo minimo e massimo di cifre frazionarie sia identico e non possono essere combinati con l&#39;arrotondamento a cifre significative o con un valore di `roundingPriority` diverso da `'auto'`. | `1 \| 2 \| 5 \| 10 \| 20 \| 25 \| 50 \| 100 \| 200 \| 250 \| 500 \| 1000 \| 2000 \| 2500 \| 5000`                    | Sì          | `1`                                                                                                                                                    |
| `trailingZeroDisplay`      | Se visualizzare gli zeri finali.                                                                                                                                                                                                                                                                    | `'auto' \| 'stripIfInteger'`                                                                                         | Sì          | `'auto'`                                                                                                                                               |

Quando viene impostato `notation: 'compact'` senza alcuna opzione relativa alle cifre frazionarie o significative, i valori effettivi predefiniti sono `minimumFractionDigits: 0`, `maximumFractionDigits: 0`, `minimumSignificantDigits: 1` e `maximumSignificantDigits: 2`. In tal caso, il valore predefinito di `roundingPriority` è `'morePrecision'`, mentre quello di `useGrouping` è `'min2'`.

## Restituisce [#returns]

**Tipo** `string`

Il numero formattato in base alle convenzioni dell&#39;impostazione regionale.

## Esempi [#examples]

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

// Formattazione numerica di base
console.log(formatNum(1234.567, { locales: 'en-US' }));
// Output: "1,234.567"

// Formattazione tedesca
console.log(formatNum(1234.567, { locales: 'de-DE' }));
// Output: "1.234,567"
```

```typescript
// Formattazione valuta

// Dollaro statunitense
console.log(formatNum(1234.56, {
  locales: 'en-US',
  style: 'currency',
  currency: 'USD',
}));
// Output: "$1,234.56"

// Euro con impostazione regionale tedesca
console.log(formatNum(1234.56, {
  locales: 'de-DE',
  style: 'currency',
  currency: 'EUR',
}));
// Output: "1.234,56 €"

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

## Note [#notes]

* Usa lo stesso `Intl.NumberFormat` sottostante del metodo della classe GT.
* I risultati vengono memorizzati internamente nella cache per migliorare le prestazioni con combinazioni ripetute di impostazione regionale e opzioni.
* Le impostazioni regionali di fallback vengono elaborate in ordine se l&#39;impostazione regionale principale non è supportata.
* Sono supportate tutte le opzioni standard di `Intl.NumberFormat`.

## Sitemap

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