JavaScript:数値を3桁区切りにする方法はどうするのが無難?
JavaScriptで計算後表示をしたところ、4桁の数字になることに気がつきました。
4桁の数字になると、3桁毎のカンマ区切りをしないと違和感を感じます。
3桁毎の区切りをする方法を検索すると、正規表現を使ったり、ループで回してつけたりする情報が見つかりました。
他には、「Intl.NumberFormat.prototype.format」を利用する方法が見つかりました。
developer.mozilla.org
「Intl.NumberFormat.prototype.format」を試す
var numberFormat = new Intl.NumberFormat('ja-JP'); alert(numberFormat.format(1000));
としたら、「1,000」になり、目的が果たせます。
「Intl.NumberFormat.prototype.format」でいいのか?
目的を果たせたので使えばいいのですが、対応しているブラウザを確認すると、Internet Explorerは11、Safariは10からになっています。
Intl.NumberFormat.prototype.format - JavaScript | MDN
Safariが10からというのが気になって、今回は正規表現を使う方法を選択しました。
Internet Explorerだけなら、Internet Explorerのサポートは現在11しかされていなかったはずなので、古いバージョンを考慮していません。
Safari 10は開発が止まっているようなので、サポート対象外なのかもしれませんが、Mac OSがサポートされているのであればサポート対象にも思えるので、公式の情報を知りたいです。