# General Translation Platform: formatCurrency URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/formatting/format-currency.mdx --- title: formatCurrency description: Formatta un valore Currency in base all'impostazione regionale in un'istanza GT. Riferimento API per formatCurrency. --- General Translation usa l'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'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'impostazione regionale di destinazione dell'istanza, ripiegando prima sull'impostazione regionale sorgente e poi su quella predefinita della library (`en`); passa `locales` per sovrascrivere questo comportamento. Per la formattazione senza un'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'impostazione regionale.** Per impostazione predefinita, il metodo formatta usando l'impostazione regionale di destinazione dell'istanza, con fallback prima all'impostazione regionale sorgente e poi a quella predefinita della libreria (`en`) — non all'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'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 della 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'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'unità. Obbligatorio quando `style` è `'unit'`. | `string` | Sì | — | | `unitDisplay` | Modalità di visualizzazione dell'unità. | `'short' \| 'narrow' \| 'long'` | Sì | `'short'` | | `minimumFractionDigits` | Numero minimo di cifre frazionarie (0–100). | `number` | Sì | cifre dell'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'unità minore della Currency; `0` con i valori predefiniti per la notazione compatta | | `minimumSignificantDigits` | Numero minimo di cifre significative (1–21), quando è attivo l'arrotondamento alle cifre significative. | `number` | Sì | `1` | | `maximumSignificantDigits` | Numero massimo di cifre significative (1–21), quando è attivo l'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'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'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'impostazione regionale. * Passa qualsiasi `Intl.NumberFormatOptions` (ad esempio `minimumFractionDigits`) insieme a `locales` per ottimizzare l'output.