数値を3桁毎にカンマで区切り、戻り値として返す

JavaScriptを使っていて数字を3桁ごとにカンマで区切って表示する機会があった。これを自分で作ろうとすると時間がかかるので既に誰かによって作られていないかと調べてみると次の関数があった。
さっそく使ってみるとちゃんと3桁づつカンマで区切られていました。作ってくれた人に感謝。
せっかくなので忘れないよう記録しておく。

function addFigure(str) {
  var num = new String(str).replace(/,/g, "");
  while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
  return num;
}

サンプルは数値2011000を3桁毎に区切ってみました。

<script type="text/javascript">
$(function(){
  $('#exec').click(function(){
    var i = 2011000;
    $('#result').html('<p>' + addFigure(i) + '</p>');
  });
});
</script>
<format>
<p>数値2011000を3桁毎に区切る</p>
<input id="exec" type="button" value="実行">
</format>
<div id="result">

数値2011000を3桁毎に区切る