Num
<Num> コンポーネントの APIリファレンス
概要
<Num> コンポーネントは、ユーザーの locale に応じて書式化された数値文字列をレンダリングし、formatting の options でカスタマイズできます。
<Num>{100}</Num>
// 出力:100すべてのフォーマットは、Intl.NumberFormat ライブラリを用いてローカルで行われます。
リファレンス
Props
Prop
Type
説明
| Prop | 説明 | 
|---|---|
| children | コンポーネント内に描画するコンテンツ。通常は数値で、現在のlocaleとoptionsに基づきフォーマットされます。指定がある場合は valuepropより優先されます。 | 
| name | メタデータ用途で使用する数値フィールドの任意の名称。 | 
| value | 数値のデフォルト値。文字列または数値を指定できます。文字列はフォーマット前に数値へパースされます。 | 
| options | 数値の任意のフォーマット用options。 Intl.NumberFormatOptionsの仕様に準拠します。通貨や小数点以下の桁数などのスタイルを定義するために使用します。 | 
| locales | フォーマットに用いるlocaleを指定するための任意の対応ロケール。指定しない場合はユーザーのデフォルトのlocaleが使用されます。localesの指定についてはこちらを参照してください。 | 
戻り値
フォーマット済みの数値文字列を含む JSX.Element。
例
基本例
この例では、ユーザーのlocaleに応じて item.quantity が再フォーマットされます。
import { Num } from 'gt-next';
export default function Inventory(item) {
  return (
    <Num> {item.quantity} </Num>  
  );
}locales の指定
既定では、locale はユーザーのブラウザー設定によって決まりますが、
<Num> コンポーネントに対して locale を明示的に設定することもできます。
import { Num } from 'gt-next';
export default function CountDisplay(item) {
  return (
    <Num locales={['fr-FR']}> {item.count} </Num> 
  );
}<Num> コンポーネントの翻訳
数値を翻訳対象の長い文の中に含めたい場合は、コンテンツ全体を <T> コンポーネントで囲むだけです。
import { T, Num } from 'gt-next';
export default function DynamicPriceDisplay(item) {
  return (
    <T id="price">
      在庫は <Num> {item.count} </Num> 個あります。 // [!code highlight]
    </T>
  );
}カスタムフォーマット
<Num> は、フォーマットに Intl.NumberFormat ライブラリを使用します。
import { Num } from 'gt-next';
export default function CustomFormat(number) {
  return (
    <Num
      options={{ style: "decimal", maximumFractionDigits: 2 }}
    >
      {number}
    </Num>
  );
}注意事項
- <Num>コンポーネントは、ユーザーの locale に合わせて数値を整形するために使用します。
- <T>コンポーネント内では、すべての動的な数値を必ず- <Num>コンポーネントで囲んでください。
次のステップ
- <Num>コンポーネントや- <Currency>、- <DateTime>、- <Var>などの他の Variable コンポーネントの詳細や使用例については、
このガイドはどうでしたか?

