Components

Devise

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

Vue d’ensemble

Le composant <Currency> affiche une valeur numérique au format monétaire. Le nombre est formaté en fonction de la locale actuelle et des paramètres optionnels transmis. Ce composant se limite au formatage et n’effectue aucun calcul de taux de change.

<Currency>{100}</Currency>
// Sortie : 100,00 $

Tous les reformatages sont effectués localement à l’aide de la bibliothèque Intl.NumberFormat.

Références

Props

Prop

Type

Description

PropDescription
childrenLe contenu à afficher à l’intérieur du composant. Le plus souvent, un nombre représentant la valeur à formater en devise. S’il est fourni, il a priorité sur la prop value.
nameNom facultatif du champ de devise, utilisé à des fins de métadonnées.
valueLa valeur par défaut pour la devise. Bascule sur children si elle n’est pas fournie. Peut être une chaîne ou un nombre. Les chaînes sont converties en nombres avant le formatage.
currencyLe type de devise, par exemple « USD » ou « EUR ». Cela détermine le symbole et le formatage utilisés pour la devise.
optionsOptions de formatage facultatives pour la devise, conformément à la spécification Intl.NumberFormatOptions. Utilisez-les pour définir des styles tels que le nombre maximal de décimales, le groupement, etc.
localesLocales facultatifs pour spécifier la locale de formatage. S’ils ne sont pas fournis, la locale par défaut de l’utilisateur est utilisée. En savoir plus sur la spécification des locales ici.

Renvoie

JSX.Element contenant la devise formatée en chaîne de caractères.


Exemples

Exemple simple

Le composant <Currency> permet d’afficher des montants dans la devise locale.

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

export default function PriceDisplay(item) {
  return (
    <Currency> {item.price} </Currency>
  );
}

Spécifier la devise

Ici, nous affichons le prix en euros.

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

export default function PriceDisplay(item) {
  return (
    <Currency currency="EUR"> {item.price} </Currency> 
  );
}

Traduction des composants <Currency>

Supposons que vous souhaitiez afficher la devise dans une phrase qui est également traduite. Vous pouvez envelopper le composant <Currency> dans un composant <T>.

PriceDisplay.jsx
import { T, Currency } from 'gt-next';

export default function PriceDisplay(item) {
  return (
    <T id="itemPrice">
      Le prix est de <Currency> {item.price} </Currency>.
    </T> 
  );
}

Formatage personnalisé

Ici, nous affichons le prix en GBP en spécifiant précisément le nombre de décimales et en utilisant le symbole étroit de la devise (c.-à-d. « $100 » plutôt que « US$100 »). Pour en savoir plus, consultez la documentation de Intl.NumberFormatOptions pour d’autres options.

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

export default function PriceDisplay(item) {
  return (
    <Currency
      currency="GBP"
      options={{ 
        currencyDisplay: 'narrowSymbol', 
        minimumFractionDigits: 2, 
        maximumFractionDigits: 2, 
      }} 
    >
      {item.price}
    </Currency>
  );
}

Remarques

  • Le composant <Currency> sert à formater des montants en devise selon le locale actuel et les éventuels paramètres optionnels transmis.
  • Ce composant ne fait que le formatage et n’effectue aucun calcul de taux de change.
  • Le contenu du composant <Currency> n’est pas envoyé à l’API pour traduction. Tout le reformatage est effectué localement à l’aide de la bibliothèque Intl.NumberFormat.

Prochaines étapes

  • Pour plus de détails et des exemples d’usage du composant <Currency> ainsi que d’autres composants de variables comme <Num>, <DateTime> et <Var>,

Comment trouvez-vous ce guide ?