zukucode
主にWEB関連の情報を技術メモとして発信しています。

JavaScript 数値をカンマ区切りの文字列にフォーマットする

JavaScriptで数値をカンマ区切りをした文字列にフォーマットします。小数点も考慮したフォーマットの方法も紹介します。

やり方はいろいろとありますが、ここでは正規表現を使って実装しています。

function format (num) {
  return String(num).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
}
console.log(format(123)); // "123"
console.log(format(12345)); // "12,345"
console.log(format(123456789)); // "123,456,789"
console.log(format('1234')); // "1,234"

少数点を考慮する

少数点を考慮して、指定した精度で丸めた数値をフォーマットをする場合は以下のようにします。

// num: 数値
// scale: 小数の精度
function format (num, scale) {
  return Number(num).toFixed(scale).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
}
console.log(format(1.23, 0)); // "1"
console.log(format(123, 2)); // "123.00"
console.log(format(12345.6789, 3)); // "12,345.679"
console.log(format(123456789.99, 1)); // "123,456,790.0"
console.log(format('1234', 2)); // "1,234.00"

関連記事