数値フォーマットとは
数値フォーマットは、数値を読みやすい形式で表示するための処理です。1234567を「1,234,567」と3桁ごとにカンマで区切ったり、0.123を「12.3%」と表示したりする処理が該当します。
3桁区切り(カンマ区切り)
大きな数字は3桁ごとにカンマで区切ると読みやすくなります。ただし、国によって区切り文字が異なります。
- 日本・アメリカ・イギリス:
1,234,567.89(カンマ区切り・ドット小数点) - ドイツ・フランス:
1.234.567,89(ドット区切り・カンマ小数点)
JavaScriptでの実装
Intl.NumberFormatAPIを使うと、ロケールに対応した数値フォーマットが簡単に実装できます。
// 3桁区切り
new Intl.NumberFormat('ja-JP').format(1234567)
// → '1,234,567'
// 通貨
new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(1234567)
// → '¥1,234,567'
// パーセント
new Intl.NumberFormat('ja-JP', { style: 'percent' }).format(0.123)
// → '12%'
Pythonでの実装
f"{1234567:,}" # → '1,234,567'
f"{0.123:.1%}" # → '12.3%'
注意点
- ユーザーインターフェースでは表示用にフォーマットし、計算にはフォーマット前の数値を使う
- フォームの入力値からカンマを除去してから数値変換する
- APIには常にフォーマットなしの数値を送信する