一番簡単な方法
var num = 9800;
num.toLocaleString(); //9,800
ただし、対応していないブラウザ云々があります。IE10等
その他1
var num = 9800;
String( num ).replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1,' ); // 9,800
9,8,00
とか
9,800
僕が採用したカンマ区切り
// カンマ区切りフォーマット対応
function moneyDisplayFormat(str) {
var num = new String(str).replace(/,/g, "");
while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
return num;
}
// 呼び出し
moneyDisplayFOrmat("1,99,9");
1,99,9
とか
1,000,
とか
カンマが変な位置あっても対応している。
小数点が入っている場合は、
1,99,9.023 => 1,999.023と出る。
小数点を切り捨てしたい時
var num = Math.floor(1999.533); // 切り捨て 1999
や
var num = parseInt(1999.533); // 1999