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>