formatNum
Riferimento API per il metodo formatNum per formattare i numeri in base alle convenzioni locali
Panoramica
Il metodo formatNum formatta i numeri in base alle convenzioni specifiche della lingua/area geografica target utilizzando l'API di Internationalization.
Gestisce automaticamente separatori decimali, separatori delle migliaia e sistemi di numerazione in base alla lingua/area geografica di destinazione.
const gt = new GT({ targetLocale: 'de' });
const formatted = gt.formatNum(1234.56, {
style: 'decimal',
minimumFractionDigits: 2
});
// Restituisce: "1.234,56" (formato numerico tedesco)Riferimenti
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
number | number | Numero da formattare |
options? | NumberFormatOptions | Configurazione di formattazione facoltativa |
NumberFormatOptions
Estende Intl.NumberFormatOptions con un’ulteriore specifica del locale:
| Nome | Tipo | Descrizione |
|---|---|---|
locales? | string | string[] | Sostituisce i locale per la formattazione (predefiniti ai locale dell’istanza) |
style? | 'decimal' | 'currency' | 'percent' | 'unit' | Stile di formattazione del numero |
currency? | string | Codice valuta (obbligatorio quando lo stile è 'currency') |
currencyDisplay? | 'symbol' | 'narrowSymbol' | 'code' | 'name' | Modalità di visualizzazione della valuta |
currencySign? | 'standard' | 'accounting' | Segno valuta da utilizzare |
unit? | string | Identificatore dell’unità (obbligatorio quando lo stile è 'unit') |
unitDisplay? | 'short' | 'narrow' | 'long' | Modalità di visualizzazione dell’unità |
minimumIntegerDigits? | number | Numero minimo di cifre intere (1-21) |
minimumFractionDigits? | number | Numero minimo di cifre decimali (0-20) |
maximumFractionDigits? | number | Numero massimo di cifre decimali (0-20) |
minimumSignificantDigits? | number | Numero minimo di cifre significative (1-21) |
maximumSignificantDigits? | number | Numero massimo di cifre significative (1-21) |
useGrouping? | boolean | 'always' | 'auto' | 'min2' | Se usare i separatori delle migliaia |
notation? | 'standard' | 'scientific' | 'engineering' | 'compact' | Formato di notazione numerica |
compactDisplay? | 'short' | 'long' | Stile di visualizzazione della notazione compatta |
signDisplay? | 'auto' | 'never' | 'always' | 'exceptZero' | Quando mostrare il segno |
roundingMode? | 'ceil' | 'floor' | 'expand' | 'trunc' | 'halfCeil' | 'halfFloor' | 'halfExpand' | 'halfTrunc' | 'halfEven' | Modalità di arrotondamento |
roundingIncrement? | 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | Incremento di arrotondamento |
trailingZeroDisplay? | 'auto' | 'stripIfInteger' | Se visualizzare gli zeri finali |
Restituisce
string - Il numero formattato secondo le convenzioni locali.
Esempi
Formattazione dei numeri: nozioni di base
import { GT } from 'generaltranslation';
const gt = new GT({ targetLocale: 'en-US' });
// Formattazione decimale di base
console.log(gt.formatNum(1234.567));
// Output: "1,234.567"
// Formattazione per il locale tedesco
console.log(gt.formatNum(1234.567, { locales: 'de-DE' }));
// Output: "1.234,567"
// Formattazione per il locale francese
console.log(gt.formatNum(1234.567, { locales: 'fr-FR' }));
// Output: "1 234,567"Formattazione della valuta
// Formattazione in dollari statunitensi
console.log(gt.formatNum(1234.56, {
style: 'currency',
currency: 'USD'
}));
// Output: "$1,234.56"
// Formattazione in euro con impostazione locale tedesca
console.log(gt.formatNum(1234.56, {
style: 'currency',
currency: 'EUR',
locales: 'de-DE'
}));
// Output: "1.234,56 €"
// Opzioni di visualizzazione della valuta
console.log(gt.formatNum(1234.56, {
style: 'currency',
currency: 'USD',
currencyDisplay: 'code'
}));
// Output: "USD 1,234.56"
// Formato contabile (parentesi per i valori negativi)
console.log(gt.formatNum(-1234.56, {
style: 'currency',
currency: 'USD',
currencySign: 'accounting'
}));
// Output: "($1,234.56)"Percentuali e notazione scientifica
// Percentuale semplice
console.log(gt.formatNum(0.1234, { style: 'percent' }));
// Output: "12%"
// Percentuale con decimali
console.log(gt.formatNum(0.1234, {
style: 'percent',
minimumFractionDigits: 1,
maximumFractionDigits: 2
}));
// Output: "12,34%"
// Notazione compatta
console.log(gt.formatNum(1234567, { notation: 'compact' }));
// Output: "1,2 M"
// Notazione scientifica
console.log(gt.formatNum(1234567, { notation: 'scientific' }));
// Output: "1,235E6"Note
- La formattazione dei numeri segue automaticamente le convenzioni locali
- Il metodo utilizza l’
Intl.NumberFormatnativo del browser per prestazioni e precisione ottimali - La formattazione della valuta richiede sia
style: 'currency'sia un codicecurrencyvalido - La formattazione delle unità richiede sia
style: 'unit'sia un identificatoreunitvalido
Prossimi passaggi
- Consulta la documentazione di
Intl.NumberFormatper ulteriori opzioni - Vedi
format-currencyper la formattazione specifica delle valute - Vedi
format-messageper la formattazione dei messaggi con interpolazione numerica - Vedi la funzione standalone
format-numper l'uso senza un'istanza di GT - Vedi
get-locale-propertiesper informazioni di formattazione specifiche della lingua/locale
Come valuti questa guida?