Components

Num

Référence de l’API du composant <Num>

Vue d’ensemble

Le composant <Num> affiche un nombre formaté selon le locale de l’utilisateur et peut être personnalisé avec des options de formatage.

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

Tout le reformatage est effectué localement à l’aide de la bibliothèque Intl.NumberFormat.

Références

Props

Prop

Type

Description

PropDescription
childrenLe contenu à rendre à l’intérieur du composant. Le plus souvent un nombre, qui sera formaté selon la locale actuelle et les options. S’il est fourni, il a priorité sur la prop value.
nameNom facultatif du champ numérique, utilisé à des fins de métadonnées.
valueValeur par défaut du nombre. Peut être une chaîne ou un nombre. Les chaînes sont converties en nombres avant le formatage.
optionsOptions de formatage facultatives pour le nombre, conformes à la spécification Intl.NumberFormatOptions. Utilisez-les pour définir des styles tels que la devise, la précision décimale, etc.
localesLocales facultatives pour spécifier la locale de formatage. Si aucune n’est fournie, la locale par défaut de l’utilisateur est utilisée. En savoir plus sur la spécification des locales ici.

Renvoie

JSX.Element qui contient le nombre formaté sous forme de chaîne.


Exemples

Exemple de base

Dans cet exemple, item.quantity sera formaté en fonction du locale de l’utilisateur.

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

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

Spécifier les locales

Par défaut, les locales sont déterminées par les paramètres du navigateur de l’utilisateur, mais vous pouvez définir explicitement la locale pour le composant <Num>.

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

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

Traduction des composants <Num>

Supposons que vous souhaitiez intégrer votre nombre dans une phrase plus longue destinée à être traduite. Ajoutez simplement les composants <T> autour du contenu.

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

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

Mise en forme personnalisée

<Num> utilise la bibliothèque Intl.NumberFormat pour la mise en forme.

import { Num } from 'gt-next';

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

Notes

  • Le composant <Num> est utilisé pour formater les nombres en fonction du locale de l’utilisateur.
  • Lorsqu’il est utilisé à l’intérieur d’un composant <T>, veillez à envelopper tous les nombres dynamiques dans un composant <Num>.

Prochaines étapes

  • Pour en savoir plus et voir des exemples d’utilisation du composant <Num> ainsi que d’autres composants de variables comme <Currency>, <DateTime> et <Var>,

Comment trouvez-vous ce guide ?