数値を3桁ごとに区切る
最近のブラウザでは toLocaleString() メソッドが用意されているのでそれを使う。
Number.prototype.toLocaleString が実装されていない場合や、(1).toLocaleString() の結果がなぜか "1.00" になってしまうブラウザでは次の代替関数を用いる。
if (!Number.prototype.toLocaleString || (1).toLocaleString() !== "1") { // ja-JP のみ、スタイル指定不可の簡易版 Number.prototype.toLocaleString = function() { if (/e/i.test(String(this))) return String(this); // 指数表現になる場合 var sign = this < 0 ? "-" : "" , abs = this < 0 ? -this : this , whole = String(Math.floor(abs)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") , decimals = String(abs).replace(/^[^.]*/, "") ; return sign + whole + decimals; }; }