# General Translation Platform: formatCurrency
URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-currency.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Formatta un valore Currency in base all'impostazione regionale in un'istanza GT. Riferimento API per formatCurrency.

General Translation usa l&#39;API `Intl.NumberFormat` integrata con lo stile `currency`, così gli importi vengono visualizzati con il simbolo, il raggruppamento e le convenzioni decimali corretti per ogni impostazione regionale.

## Overview [#overview]

Chiama `formatCurrency` su un&#39;istanza di [`GT`](/docs/platform/core/reference/gt-class/constructor) con un valore numerico, un codice Currency e un oggetto options facoltativo. Restituisce la stringa della Currency formattata.

```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` viene eseguito localmente tramite `Intl.NumberFormat` e non richiede una chiave API. Per impostazione predefinita formatta usando l&#39;impostazione regionale di destinazione dell&#39;istanza, ripiegando prima sull&#39;impostazione regionale sorgente e poi su quella predefinita della library (`en`); passa `locales` per sovrascrivere questo comportamento. Per la formattazione senza un&#39;istanza `GT`, vedi [`formatCurrency`](/docs/platform/core/reference/utility-functions/formatting/format-currency) standalone.*

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

* **Stile Currency.** La formattazione è delegata a [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) con `style: 'currency'` e il codice `currency` fornito.
* **Risoluzione dell&#39;impostazione regionale.** Per impostazione predefinita, il metodo formatta usando l&#39;impostazione regionale di destinazione dell&#39;istanza, con fallback prima all&#39;impostazione regionale sorgente e poi a quella predefinita della libreria (`en`) — non all&#39;array di configurazione `locales`. Passa `locales` nelle opzioni per sovrascrivere questo comportamento.
* **Posizionamento del simbolo.** Il simbolo della Currency, i separatori delle migliaia e il formato decimale seguono l&#39;impostazione regionale risolta, non il paese della Currency.

## Parametri [#parameters]

| Parametro               | Descrizione                                                                                          | Tipo     | Facoltativo | Predefinito |
| ----------------------- | ---------------------------------------------------------------------------------------------------- | -------- | ----------- | ----------- |
| [`value`](#value)       | Il valore numerico da formattare.                                                                    | `number` | No          | —           |
| [`currency`](#currency) | Il codice Currency ISO 4217, ad esempio `USD` o `EUR`.                                               | `string` | No          | —           |
| [`options`](#options)   | Configurazione di formattazione che estende `Intl.NumberFormatOptions` con un override di `locales`. | `object` | Sì          | —           |

### `value` [#value]

**Type** `number` · **Obbligatorio**

Il valore numerico da formattare.

### `currency` [#currency]

**Tipo** `stringa` · **Obbligatorio**

Il codice di Currency ISO 4217, ad esempio `USD`, `EUR` o `JPY`.

### `options` [#options]

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

Configurazione di formattazione. La tabella elenca le opzioni comuni per Currency esposte dai tipi Core pubblicati e i relativi 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)).

| Nome                       | Descrizione                                                                                                                                                                                                                                                                                          | Tipo                                                                                                                 | Facoltativo | Predefinito                                                                                      |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------ |
| `locales`                  | Sovrascrive le impostazioni regionali per la formattazione.                                                                                                                                                                                                                                          | `string \| string[]`                                                                                                 | Sì          | `targetLocale` → `sourceLocale` → `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. `formatCurrency` fornisce lo stile della Currency, a meno che non venga sovrascritto.                                                                                                                                                                               | `'decimal' \| 'currency' \| 'percent' \| 'unit'`                                                                     | Sì          | `'currency'`                                                                                     |
| `currency`                 | Codice Currency utilizzato dal formattatore. L&#39;argomento posizionale `currency` fornisce questo valore, a meno che non venga sovrascritto.                                                                                                                                                         | `string`                                                                                                             | Sì          | argomento posizionale `currency`                                                                 |
| `currencyDisplay`          | Modalità di visualizzazione della Currency.                                                                                                                                                                                                                                                            | `'symbol' \| 'narrowSymbol' \| 'code' \| 'name'`                                                                     | Sì          | `'symbol'`                                                                                       |
| `currencySign`             | Segno di Currency 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'`                                                                                        |
| `minimumFractionDigits`    | Numero minimo di cifre frazionarie (0–100).                                                                                                                                                                                                                                                          | `number`                                                                                                             | Sì          | cifre dell&#39;unità minore della Currency; `0` con i valori predefiniti per la notazione compatta |
| `maximumFractionDigits`    | Numero massimo di cifre frazionarie (0–100), almeno `minimumFractionDigits`.                                                                                                                                                                                                                         | `number`                                                                                                             | Sì          | cifre dell&#39;unità minore della Currency; `0` con i valori predefiniti per la notazione compatta |
| `minimumSignificantDigits` | Numero minimo di cifre significative (1–21), quando è attivo l&#39;arrotondamento alle cifre significative.                                                                                                                                                                                          | `number`                                                                                                             | Sì          | `1`                                                                                              |
| `maximumSignificantDigits` | Numero massimo di cifre significative (1–21), quando è attivo l&#39;arrotondamento alle cifre significative.                                                                                                                                                                                         | `number`                                                                                                             | Sì          | `21`; `2` con i valori predefiniti per la notazione compatta                                     |
| `roundingPriority`         | Interazione tra le impostazioni per le cifre frazionarie e significative.                                                                                                                                                                                                                            | `'auto' \| 'morePrecision' \| 'lessPrecision'`                                                                       | Sì          | `'auto'`; `'morePrecision'` con i valori predefiniti per la notazione compatta                   |
| `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 uguale e non possono essere combinati con l&#39;arrotondamento alle 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`                                                                                              |
| `useGrouping`              | Indica se e quando utilizzare i separatori di raggruppamento.                                                                                                                                                                                                                                        | `boolean \| 'always' \| 'auto' \| 'min2'`                                                                            | Sì          | `'auto'`; `'min2'` con i valori predefiniti per la 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'`                                                                                        |
| `signDisplay`              | Quando visualizzare il segno.                                                                                                                                                                                                                                                                        | `'auto' \| 'never' \| 'always' \| 'exceptZero' \| 'negative'`                                                        | Sì          | `'auto'`                                                                                         |
| `trailingZeroDisplay`      | Indica se visualizzare gli zeri finali.                                                                                                                                                                                                                                                              | `'auto' \| 'stripIfInteger'`                                                                                         | Sì          | `'auto'`                                                                                         |

Quando si imposta `notation: 'compact'` senza alcuna opzione per le cifre frazionarie o significative, i valori predefiniti effettivi sono `minimumFractionDigits: 0`, `maximumFractionDigits: 0`, `minimumSignificantDigits: 1` e `maximumSignificantDigits: 2`. In tal caso, il valore predefinito di `roundingPriority` è `'morePrecision'`, mentre quello di `useGrouping` è `'min2'`. L&#39;impostazione di `style: 'unit'` richiede inoltre un valore `unit` valido.

## Returns [#returns]

**Type** `string`

Il valore formattato come stringa Currency localizzata.

## Esempi [#examples]

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

const gt = new GT({ targetLocale: 'en-US' });

// Impostazione regionale di destinazione dell'istanza predefinita
console.log(gt.formatCurrency(1234.56, 'USD'));
// Output: "$1,234.56"

// Sovrascrittura dell'impostazione regionale per singola chiamata
console.log(gt.formatCurrency(1234.56, 'EUR', { locales: ['de-DE'] }));
// Output: "1.234,56 €"

// Nessuna cifra decimale
console.log(gt.formatCurrency(1234, 'JPY', { locales: ['ja-JP'] }));
// Output: "￥1,234"
```

## Note [#notes]

* Il metodo usa internamente `Intl.NumberFormat`, nativo del browser, quindi gli importi seguono le convenzioni dell&#39;impostazione regionale.
* Passa qualsiasi `Intl.NumberFormatOptions` (ad esempio `minimumFractionDigits`) insieme a `locales` per ottimizzare l&#39;output.

## Sitemap

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