ロケール別の数値桁区切りスタイル:インド式、西洋式、東アジア式

ロケール間で数値の桁区切りがどのように異なるかを探ります。インドの数値体系(ラーキ/クローレ)、西洋の千の位区切り、東アジアの区切り、および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」として表示する必要があります。

試してみる — Locale String Tester

フルツールを開く