Components

Num

Riferimento all’API del componente <Num>

Panoramica

Il componente <Num> visualizza una stringa numerica formattata in base alla lingua/locale dell’utente e può essere personalizzato tramite opzioni di formattazione.

<Num>{100}</Num>
// Output: 100

Tutto il riformattamento è gestito localmente tramite la libreria Intl.NumberFormat.

Riferimenti

Proprietà

Prop

Type

Descrizione

PropDescrizione
childrenIl contenuto da renderizzare all'interno del componente. In genere è un numero, che verrà formattato in base all'impostazione locale corrente e alle opzioni. Se presente, ha precedenza sulla prop value.
nameNome facoltativo per il campo numerico, usato a fini di metadati.
valueValore predefinito del numero. Può essere una stringa o un numero. Le stringhe verranno convertite in numeri prima della formattazione.
optionsOpzioni facoltative di formattazione del numero, conformi alla specifica Intl.NumberFormatOptions. Usale per definire stili come valuta, precisione decimale, ecc.
localesImpostazioni locali facoltative per specificare la locale di formattazione. Se non impostata, viene usata la locale predefinita dell'utente. Per maggiori dettagli su come specificare le locali, vedi qui.

Valore restituito

JSX.Element che contiene il numero formattato come stringa.


Esempi

Esempio di base

In questo esempio, item.quantity verrà formattato in base alla lingua e alle impostazioni locali dell’utente.

QuantityDisplay.jsx
import { Num } from 'gt-next';

export default function Inventario(item) {
  return (
    <Num> {item.quantity} </Num>  
  );
}

Specificare le impostazioni locali

Per impostazione predefinita, le impostazioni locali sono determinate dalle impostazioni del browser dell'utente, ma puoi impostare esplicitamente l'impostazione locale per il componente <Num>.

PriceDisplay.jsx
import { Num } from 'gt-next';

export default function CountDisplay(item) {
  return (
    <Num locales={['fr-FR']}> {item.count} </Num> 
  );
}

Tradurre i componenti <Num>

Poniamo che tu voglia inserire il numero in una frase più lunga che verrà tradotta. Ti basta racchiudere il contenuto nei componenti <T>.

DynamicPriceDisplay.jsx
import { T, Num } from 'gt-next';

export default function DynamicPriceDisplay(item) {
  return (
    <T id="price">
      <Num> {item.count} </Num> unità disponibili. // [!code highlight]
    </T>
  );
}

Formattazione personalizzata

<Num> usa la libreria Intl.NumberFormat per il formato dei numeri.

import { Num } from 'gt-next';

export default function CustomFormat(number) {
  return (
    <Num
      options={{ style: "decimal", maximumFractionDigits: 2 }}
    >
      {number}
    </Num>
  );
}

Note

  • Il componente <Num> viene utilizzato per formattare i numeri in base alle impostazioni locali dell’utente.
  • All’interno di un componente <T>, assicurati di racchiudere tutti i numeri dinamici in un componente <Num>.

Prossimi passi

  • Per ulteriori dettagli ed esempi d'uso del componente <Num> e di altri componenti di variabili come <Currency>, <DateTime> e <Var>,

Come valuti questa guida?

Num