ロケール別の数値桁区切りスタイル:インド式、西洋式、東アジア式
ロケール間で数値の桁区切りがどのように異なるかを探ります。インドの数値体系(ラーキ/クローレ)、西洋の千の位区切り、東アジアの区切り、およびIntl.NumberFormatでの区切り制御について学びます。
Intl.NumberFormat
詳細な説明
世界の数値桁区切り慣例
ほとんどの開発者は西洋の3桁区切り(1,234,567)に慣れていますが、他の数値体系は異なる区切りパターンを使用します。
西洋式桁区切り(3桁グループ)
new Intl.NumberFormat('en-US').format(12345678);
// "12,345,678"
new Intl.NumberFormat('de-DE').format(12345678);
// "12.345.678"
インドの数値体系(ラーキとクローレ)
インドの数値体系では、最初のグループは3桁、その後は2桁グループ:
new Intl.NumberFormat('en-IN').format(12345678);
// "1,23,45,678"
| 西洋式 | インド式 |
|---|---|
| 100,000 | 1,00,000(1ラーキ) |
| 10,000,000 | 1,00,00,000(1クローレ) |
東アジアの桁区切り
コンパクト表記では万(10,000)を基準とした区切り:
new Intl.NumberFormat('ja-JP', { notation: 'compact' })
.format(12345678); // "1235万"
区切り文字の違い
| ロケール | 千の位 | 小数点 |
|---|---|---|
| en-US | ,(カンマ) | .(ピリオド) |
| de-DE | .(ピリオド) | ,(カンマ) |
| fr-FR | (細いスペース) | ,(カンマ) |
| ar-SA | ٬ | ٫ |
ユースケース
正しい桁区切りは、インドのユーザーにサービスを提供する金融アプリケーション(ラーキとクローレはインド文化に深く根付いている)、大きな数値を表示するダッシュボード、および数値の誤読が影響を及ぼす可能性のあるすべてのアプリケーションにとって重要です。インドの銀行アプリは口座残高を「1,234,567.00」ではなく「12,34,567.00」として表示する必要があります。