Intl.NumberFormatによる単位フォーマット(メートル、リットル、バイト)
Intl.NumberFormatのunitスタイルを使用して、キロメートル、リットル、キログラム、バイトなどの測定単位を任意のロケールでフォーマットします。unitDisplay モードとサポートされる単位識別子について学びます。
Intl.NumberFormat
詳細な説明
Intl.NumberFormatによる単位フォーマット
Intl.NumberFormatのunitスタイルは、ロケールに適した単位ラベルで値をフォーマットします。物理的な測定値、デジタルストレージ、速度、温度などをサポートしています。
基本的な単位フォーマット
new Intl.NumberFormat('en-US', {
style: 'unit', unit: 'kilometer', unitDisplay: 'long',
}).format(42); // "42 kilometers"
new Intl.NumberFormat('de-DE', {
style: 'unit', unit: 'kilometer', unitDisplay: 'long',
}).format(42); // "42 Kilometer"
new Intl.NumberFormat('ja-JP', {
style: 'unit', unit: 'kilometer', unitDisplay: 'long',
}).format(42); // "42 キロメートル"
単位表示モード
unitDisplayオプションはラベル形式を制御します:
const opts = { style: 'unit', unit: 'liter' };
// "long": "3.5 liters"
// "short": "3.5 L"
// "narrow": "3.5L"
サポートされる単位識別子
一般的な単位:
- 長さ:
meter,kilometer,centimeter,mile,foot,inch - 質量:
kilogram,gram,pound,ounce - 容積:
liter,milliliter,gallon - 温度:
celsius,fahrenheit - 速度:
kilometer-per-hour,mile-per-hour - デジタル:
byte,kilobyte,megabyte,gigabyte,terabyte
複合単位
-per-で2つの単位を組み合わせることができます:
new Intl.NumberFormat('en-US', {
style: 'unit',
unit: 'mile-per-gallon',
unitDisplay: 'short',
}).format(30); // "30 mpg"
ユースケース
単位フォーマットは、物理的な測定値、ファイルサイズ、速度値を国際的なユーザーに表示するアプリケーションにとって不可欠です。フィットネスアプリがメトリックロケールで「5 km」、インペリアルロケールで「3.1 mi」と表示する必要があります。クラウドストレージダッシュボードが英語で「1.5 GB」、フランス語で「1,5 Go」と表示する必要があります。単位フォーマットを使用することで、ラベルがすべてのロケールで正しく翻訳・フォーマットされます。