• ベストアンサー

3桁カンマを一斉に付けたい

表があって、表の中の複数のテキストボックスに数値・文字を入れて、最後にボタンを押すと、数字のテキストボックスのみ3桁のカンマを入れたい。こういう便利なこと?をしたいのですが、新米にはむずかしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>表の中の数値をカンマ区切りにフォーマットする</title> <script type="text/javascript"> <!-- function commaFormat(ID){ var inp=document.getElementById(ID).getElementsByTagName('input');//IDで示されたタグの配下のinput について処理する var len=inp.length; for(var i=0;i<len;i++){ if(inp[i].type == "text"){ //テキストボックス if(!isNaN(inp[i].value)){ //数値が入力されている inp[i].value=toCommaFormat(inp[i].value);// カンマを振る inp[i].style.textAlign="right";//右揃えする、余計? } } } } function toCommaFormat(v){ var re = /(-?\d+)(\d{3})/; v=v.toString(); while(re.test(v)){ v = v.replace(re, "$1,$2"); } return v; } //--> </script> </head> <body> <form> <table id="HYO"> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> <tr><td><input type="text" ></td><td><input type="text" ></td><td><input type="text" ></td></tr> </table> <input type="button" onclick="commaFormat('HYO')" value="数値にカンマを付ける"> </form> </body> </html>

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#22259
noname#22259
回答No.2

>>No.1 (^^ function toCommaFormat(v){ //var re = /(-?\d+)(\d{3})/; var re =/^([+-]?\d+)(\d{3})/; //better for decimal point v=v.toString(); while(re.test(v)){v = v.replace(re, "$1,$2");} return v; }

nakada789
質問者

お礼

どうもありがとうございました。 とても便利になりました。 scriptの細かい点はよくわかりませんが、なんとなく雰囲気はわかりました。 (^^;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 料金計算→3桁でカンマを入れたい

    料金計算で合計の数字にカンマを入れたいと思います。何とか本を読み読みここまで来たのですが・・ on (press) { total = _root.pretotal.text; _root.pretotal.text = total.length; //文字数を取得 if (total.length>3) { _root.total.text = (total.substr(0, -3))+","+total.substr(-3); } } ↑これだと「3ケタ目にカンマを追加」だと思うので、12346,789となってしまいます。 どんどんカンマを追加するにはどうしたらういいのでしょうか。。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • メッセージボックスの数字をカンマ付きに

    イメージとしてはフォームにテキストボックスを作って、その中に数字を入れます。 ボタンを押すとメッセージボックスが出てきて数字がカンマ付きで表示させたいのですが、どうしても普通の数字になってしまいます。 ヒントだけでも教えていただけないでしょうか。 お願いいたします。

  • 金額表示のカンマは4ケタ目に入れるべきでは?

    日本でも金額の表示カンマは例えば120,000円(12万円)のように欧米に倣って千、百万のように3ケタで入れています。 しかし日本の数字の表現は万、億、兆なので4ケタ目に入れるのが便利なのは明らかです。 4ケタに変更すべきだと思いますが、中国や韓国はどうしていますか?

  • セル内のカンマ ( , ) が消えません

    エクセルで表を作っています。その中で金額欄ではカンマ(,)を使いました。品番欄では使いませんでした。でも二個のセルだけカンマが付いてしまいました。どうしても消えません。ツールボタンは押してないのにどうしてかわかりません。どうしたらカンマが消せるのでしょうか?  入力して確定すると元に戻ってしまいます。 それと、頭の数字の0も確定すると消えてしまいます。どうしたら良いのでしょうか?

  • テキストボックスの3桁

    よろしくお願いします。 テキストボックスの3桁置きにカンマを入れるために AA.Text = Format(AA.Text, "#,###")と、したのですが 123.456と表示されます。 これを 123,456と表示されるようにする方法を教えてください。

  • エクセル:桁区切り「カンマ」でセルが分割されて貼り付けされてしまう

    仕事で社内のシステムから売上の情報をコピーしてエクセルに貼り付けて処理をしようとしたところ、コピーした数字に「桁区切りのカンマ","」がある関係で、 たとえば 1,234,567 という数字が 1 と 234 と 567 とセルが分割されて貼り付けられてしまいます。 CSVファイルのカンマ区切りデータと同じように情報がカンマで分割されてしまっているようなのですが、貼り付けの際に分割されないようにするにはどうしたらよいでしょうか? ちなみに、これらデータはスペースで区切られているので一度テキストファイルに保存して、CSVを開くときの区切り文字の設定を「スペース」に設定すればうまく開くのはわかるのですが、コピーして即貼り付けのときにこのようになることを回避する方法はあるのでしょうか?マクロを組んでも構いません。 どうぞ、ご教授、宜しくお願いします。

  • 複数のダイナミックテキストに1000桁ごとのカンマの打ち方

    先日、1000桁ごとのカンマの入れ方を教えていただき、上手くいったのですが、複数のテキストボックスにカンマを打ちたいと思い、Array を使ったのですがうまくいきません。根本的に何かが違うのだと思いますが、何処が違うのか教えていただきたく投稿しました。 どうぞよろしく御願いします。 on (press) { 計算式が入っています my_array[1] = new Array( ninendrieki , sannendrieki , gonendrieki , yonendrieki ) my_array[2] = new Array( _root.gonendriekiQ.text , _root.yonendriekiQ.text , _root.ninendriekiQ.text , _root.sannendriekiQ.text ) org = new String( my_array[1] ) temp = new String( "" ); cnt = 0; for( i = org.length - 1 ; i >= 0 ; i-- , cnt++ ) { temp += org.charAt( i ); if( cnt % 3 == 2 ) { temp += ","; } } if( temp.charAt( temp.length - 1 ) == "," ) { start_index = temp.length - 2; } else{ start_index = temp.length - 1; } my_array[2] = ""; for( i = start_index; i >= 0 ; i-- ) { my_array[2] += temp.charAt( i ); } }

    • ベストアンサー
    • Flash
  • エクセル:セル内の文字列の最後の「,]を消したい。

    エクセル:セル内の文字列の最後の「,]を消したい。 以下のように、数字(1桁または2桁)がカンマでわかれたデータがあります。 この文字列の中で、一番最後の「,」だけ消したいのですが、 何か良い方法はないでしょうか。 1,1,1,1, ⇒最後のカンマを消したい 1,2,3,4  ⇒カンマがないのでそのままでOK 1,1,2,3,4  1,2,3,   1,11,12,

  • PowerPointの表内のカンマ

    PowerPoint2002で表を挿入した後に、表に数字のデータを入れました。 例えば「20,000」というように「,」カンマを入れたいのですが、エクセルみたいにボタンひとつで表内のセルのデータすべてにカンマがつくような設定はないでしょうか? やっぱり数字を入れるたびに、「,」を入れないと無理でしょうか?

  • WORD 桁区切り

    WORDの勉強をしています。 とりあえず表を作ってみたんですが、数値を入力するのにExcelのような桁区切りはないんでしょうか? 1つ1つカンマを入れるのは面倒だと思いました。探してみたんですがわかりません。教えてください。