JavaScript 数値を3桁ごとにカンマで区切る

最終更新日

数値を3桁ごとに区切るには、数値を一度、文字型に変換します。変換した文字列を末尾から連結、及び、カウントしていき、「3」で割ります。その余りが「0」の場合に、「,(カンマ)」を文字列に連結します。これを数値の桁数だけ繰り返します。

サンプル

サンプルでは、「num3」関数内の2番目のパラメータに「,(カンマ)」で区切る桁数を指定できます。4にすると4桁ごとにカンマで区切られます。

<body>
<h1>数値を3桁ごとに区切る</h1>
<form>
    <input type="text" id="num" value="5963">
</form>
<script>
    window.addEventListener("load" , function(){
        var ele = document.getElementsByTagName("output")[0];
        //テキストフィールドに入力されたリアルタイムに結果を表示
        document.getElementById("num").onkeyup = function(){
            ele.innerHTML = num3(this.value);
        }

        //指定した桁数ごとに区切った結果を返す関数
        function num3(num, separate){
            //パラメータが省略された場合は3桁ごとにする
            separate = separate || 3;
            //結果を入れる変数を初期化
            var n = "";
            var count = 0;
            //数値を文字列に変換
            var str = new String(num);
            for(var i=str.length-1; i>=0; i--){
                n = str.charAt(i)+n;
                count++;
                if(((count % separate) == 0) && (i != 0)) n="," + n;
            }
            return n;
        }
    }, false);
</script>
    <output></output>
</body>
実行結果
実行結果