数値を,で区切る


動作ブラウザ 【 IE:3.0   NN:2.0
Internet Explorer Netscape Navigator Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 7.x 2.x 1.x
Windows - -
Macintosh -
UNIX - - - - - -

ポイント for (i=str.length-1; i>=0; i--) { n = str.charAt(i) + n; cnt++; if (((cnt % 3) == 0) && (i != 0)) n = ","+n; }
説  明 数値を,(カンマ)で3桁ごと区切るには、数値の桁数分繰り返し処理を行います。繰り返し処理の中でカウンタを用意し(初期値を0にする)、一回の処理ごとにカウンタを増やし3の倍数であれば,を連結するようにします。
サンプル <html> <head> <title>数値を,で区切る</title> <script language="JavaScript"><!-- function addComma() { str = ""+document.myFORM.num.value; cnt = 0; n = ""; for (i=str.length-1; i>=0; i--) { n = str.charAt(i) + n; cnt++; if (((cnt % 3) == 0) && (i != 0)) n = ","+n; } document.myFORM.conv.value = n; } // --></script> </head> <body> <form name="myFORM">   値:<input type="text" name="num"><br> 変換後:<input type="text" name="conv"><br> <input type="button" onClick="addComma()" value=",を付加"> </form> </body> </html>
補足説明 以下のような方法もあります。(作者:丸山 佳範/高橋 登史朗) function format(str){ var temp1 = str.split(".")[0].match(/./g).reverse().join(""); temp1 = temp1.replace(/(\d{3})/g,"$1,"); temp1 = temp1.match(/./g).reverse().join("").replace(/^,/,""); if(!!str.split(".")[1])temp1 = temp1 +"."+ str.split(".")[1] return temp1; }

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA