Components

Currency

<Currency> コンポーネントのAPIリファレンス

概要

<Currency> コンポーネントは数値を通貨表記でレンダリングします。 数値は現在の locale と、指定された任意のパラメーターに基づいて書式化されます。 このコンポーネントは書式化のみを行い、為替レートの計算は行いません。

<Currency>{100}</Currency>
// 出力: $100.00

すべての書式変換は、Intl.NumberFormat ライブラリによってローカルで処理されます。

リファレンス

Props

Prop

Type

説明

Prop説明
childrenコンポーネント内にレンダーするコンテンツ。通常は通貨として書式化する数値です。指定がある場合、value プロップより優先されます。
nameメタデータ用途で使用する通貨フィールドの任意の名称。
value通貨のデフォルト値。未指定の場合は children にフォールバックします。文字列または数値を受け付けます。文字列は書式化前に数値へパースされます。
currency"USD" や "EUR" などの通貨種別。使用される通貨記号と書式を決定します。
options通貨の任意の書式設定 options。Intl.NumberFormatOptions の仕様に従います。最大小数桁数や桁区切りなどのスタイルを定義するために使用します。
locales書式化に用いるロケールを指定するための任意の対応ロケール。未指定の場合はユーザーのデフォルトの locale が使用されます。ロケールの指定についてはこちらを参照してください。

返り値

フォーマット済みの通貨文字列を含む JSX.Element を返します。


基本的な例

<Currency> コンポーネントは、ローカライズされた通貨額を表示するために使用できます。

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

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

通貨の指定

ここでは価格をユーロで表示します。

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

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

<Currency> コンポーネントの翻訳

翻訳対象の文中に通貨を表示したい場合は、<Currency> コンポーネントを <T> コンポーネントで包むことができます。

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

export default function PriceDisplay(item) {
  return (
    <T id="itemPrice">
      価格は <Currency> {item.price} </Currency> です。
    </T> 
  );
}

カスタム書式設定

ここでは、GBP建ての価格を表示し、小数桁数を明示的に指定したうえで、通貨にはナロー記号(つまり「US$100」ではなく「$100」)を使用しています。 詳細は Intl.NumberFormatOptions を参照してください。

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>
  );
}

注意事項

  • <Currency> コンポーネントは、現在の locale と渡された任意のパラメータに基づいて通貨額をフォーマットします。
  • このコンポーネントはフォーマットのみを行い、為替レートの計算は行いません。
  • <Currency> コンポーネント内の内容は翻訳のために API に送信されません。 すべての再フォーマットは、Intl.NumberFormat ライブラリを使用してローカルで行われます。

次のステップ

  • <Currency> コンポーネントや <Num><DateTime><Var> などの他の変数コンポーネントの詳細や使用例については、

このガイドはどうでしたか?

Currency