[JavaScript] 数値をカンマ区切りにする方法

1 min read

JavaScript で数値にカンマを付けたり外したり…
一般のサイトなんかではあまり使わないかもしれないですが、業務アプリとかだと日常茶飯事だったりします。

整理がてらメモにあったものを公開しておきたいと思います。

見づらい

新人の頃に作ったアプリで使われていたカンマ区切りのロジック。 非常に見づらいです。頑張って作ったのでしょう。
function insertComma(num) {
  while (num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
  return num;
}

理想的な方法

最近はこんな感じでカンマ区切りしてます。保守もしやすくてイイ感じです。
function insertComma(num) {
  return String(num).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
}

ちょっとクールな方法

一応、こういう方法もあるっぽいです。 確認したところ、最新のブラウザでは有効でした。
function insertComma(num) {
  return num.toLocaleString();
}
// Chrome 33
// Firefox 28
// Internet Explorer 11