• 締切済み

金額の3桁区切り

JavaScriptで、配列の記載した金額の合計を表示させるのを作成してみたんですが、合計がそのまま表示されてしまいます。 合計金額を3桁区切りして表示させるにはどうしたらよいのでしょうか?? お分かりになるかた教えて下さい!! <script language="JavaScript"><!-- sum = 0; kingaku = [1000,200,500]; for (i = 0 ; i < 3 ; i++){ sum = sum + kingaku[i]; } document.write("¥",sum) // --></script>

みんなの回答

  • noppi_99
  • ベストアンサー率34% (10/29)
回答No.1

たぶん関数を自前で用意するしかないと思います。 <html> <head> <script language="JavaScript"> <!-- function setComma(srcValue) { var destStr = srcValue; var tmpStr = ""; while (destStr != (tmpStr = destStr.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2"))) { destStr = tmpStr; } return destStr; } // --> </script> <body> <input type="text" onBlur="this.value=setComma(this.value)"> </body> </html> こんな感じでどうでしょうか? フォーカスを外れた時に動くようにしてあります。

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

関連するQ&A

  • 桁区切りを表示させたい

    桁区切りを表示させたい 合計した結果を1つのセルに表示させたい(合計:¥123,456-)ので、 式は「="合計:"&SUM(A1:A10)&"-"」で、表示形式は通貨にし、 桁区切りにもチェックを入れて試しましたが、通貨記号と桁区切りが表示されませんでした。 表示形式を他のに変えて試しましたが、桁区切が表示されませんでした。 色々と調べたのですが、分からなかったので、お願いします。 合計した結果を1つのセルに「合計:¥123,456-」と表示させるには、どうしたら良いか教えて下さい。

  • Accessの桁区切りについて教えてください。

    アクセスのレポートの金額に、桁区切りのカンマを付けたいと思っています。 プロパティの書式を通貨にすると¥マークがついてしまいます。 合計は付いてもいいのですが、内訳には¥マークを付かないように桁区切りだけにしたいのです。 そのため、書式に『###,##0』としました。 できましたが、小数点以下が表示されません。 小数点を表示したいので『###,##0.###』としたら、『59,180.000』となってしまいます。 小数点の指定を自動から3桁表示に変えましたが、うまくいきません。 教えていただきたい内容としては、 ・金額の表示に桁区切りのカンマを付けたい。 ・でも¥マークは付けたくない。 ・小数点以下該当があるもののみ3桁まで表示させたいが(5,500.365)、  小数点以下がないものは小数点以下は表示させたくない(5,400)。 ぜひともアクセスを使いこなしている方、お教えください。

  • javascriptに関する質問です

    9×9のます目一つ一つに・を表示させるプログラムをつくっているのですがなかなかうまくいきませんどなたかご教授ください <script language="JavaScript" type="text/javascript"> <!-- document.write("<center>"); document.write("<h1>・の表</h1>"); document.write("<table border>"); var i; var j; for (i =・;i=<9 ){ document.write("<tr>"); for(j =・;j=<9 ){ document.write("<td>"); document.write(i * j) document.write("</td>") } document.write("</tr>"); } document.write("</table>"); //--> </script>

  • Javascript 計算後の3桁区切り

    ホームページ用見積もりフォームをJavascriptで自動計算 縦に長いページで一番下に計算結果を表示 ページをスクロールしても、何時でも計算結果が見られるように、別のウィンドウ(レイヤー)でページ内に表示。 以上までは出来ました。 最後に計算結果を3桁区切りで表示させたいのですが、上手く出来ません。 お知恵をお貸しくださいませ。 Javascriptは外部参照しております。 3桁区切りのJavascriptを外部参照している同一のページに記入した方が良いか、別参照の方が良いかも教えていただければ幸いです。 以下がJavascriptのコードになります。 function keisan(){ // 設定開始 var tax = 5; // 消費税率 // 商品1 var price1 = document.form1.goods1.options[document.form1.goods1.selectedIndex].value; // 商品2 var price2 = document.form1.goods2.options[document.form1.goods2.selectedIndex].value; // 商品3 var price3 = document.form1.goods3.options[document.form1.goods3.selectedIndex].value; // 合計を計算 var total1 = parseInt(price1) + parseInt(price2) + parseInt(price3) ; // 設定終了 document.form1.field_total1.value = total1; // 合計を表示 var tax2 = Math.round((total1 * tax) / 100); document.form1.field_tax.value = tax2; // 消費税を表示 document.form1.field_total2.value = total1 + tax2; // 税込合計を表示 //右の窓に表示する金額 document.getElementById("display_account_amount").innerHTML = total1; document.getElementById("display_account_tax").innerHTML = tax2; document.getElementById("display_account_all").innerHTML = total1 + tax2; }

  • 3の倍数の合計値

    3の倍数を足した合計値を表示するにはどうすればいいか教えてください。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>for課題1</title> </head> <body> <script> var sum = 1; for (var i = 1; i <= 100; i++) { if (i % 3 === 0) { } sum += i; document.write(sum);} //表示がうまくいかない //1から100までの間で、3の倍数の数だけを足した合計値(1683)を表示したい </script> </body> </html>

  • 3桁区切り

    ドリームウィーバーで下記のJAVAスクリプトを挿入ました。 <!-- a = 10000; // b = 5000; //   d = a + b; // document.writeln(d); // // --> dの値を,(カンマ)で3桁区切りにする場合どのようにすればよいのでしょうか? 丸一日調べても、フォームを使用した物の記述しか見つからずに 困っています。

  • ピリオド区切りで 4桁.2桁.2桁 という制限が出来なくて困っています

    ピリオド区切りで 4桁.2桁.2桁 という制限が出来なくて困っています。 テキストボックスに入力される文字列の形式を制限するために、Web上で見つけたサンプルソースを参考に、次のような形でJavascriptを挿入しました。 <script type="text/javascript"> /* ピリオドチェック */ function DotCheck() { var str = document.form01.yukoduki.value; if( str.indexOf( "." ) != 4) { alert("1234.56.78 のように、ピリオド2つで区切ってご記入下さい"); document.form01.kakuninbutton.disabled = true; // 送信ボタン無効化; return 1; } return 0; } /* 2つめのピリオドチェック */ function DotCheck() { var str = document.form01.yukoduki.value; if( str.indexOf( "." ) != 6) { alert("1234.56.78 のように、ピリオド2つで区切ってご記入下さい"); document.form01.kakuninbutton.disabled = true; // 送信ボタン無効化; return 1; } return 0; } /* 半角数字チェック */ function NumberCheck() { var str = document.form01.yukoduki.value; if( str.match( /[^0-9\s.]+/ ) ) { alert("半角数字と小数点のみで入力して下さい。"); document.form01.kakuninbutton.disabled = true; // 送信ボタン無効化; return 1; } return 0; } /* 全部チェック */ function AllCheck() { var check = 0; check += NumberCheck(); check += DotCheck(); check += DotDotCheck(T); if( check > 0 ) { return false; } return true; } </script> しかし、これだと、123.456.78 のように最初のピリオドまでと2つ目のピリオドまでの桁数は制限できますが、最後の桁は何桁でも入れ放題になってしまいます。 そこで、ピリオドのチェックを2つ入れるかわりに、まとめて桁数をチェックしようと次のようなソースをソースを考えたのですが、どうも私の知識不足で間違っているようで作動しません。 /*一括ピリオドチェック */ function DotDotCheck(T) { var str = document.form01.yukoduki.value; if( !str.match(/^?d(4).?d(2).?d(2)$/)) { alert("1234.56.78 のように、ピリオド区切りで4桁.2桁.2桁でご記入下さい"); document.form01.kakuninbutton.disabled = true; // 送信ボタン無効化; return 1; } return 0; } このソース、少し直すだけで、「ピリオド区切りで4桁.2桁.2桁になっていない場合はアラート」という目的を達成できないでしょうか? 直し方をお分かりの方がいらっしゃいましたらご教示頂きたく、どうかよろしくお願い致します。

  • INPUTでスクリプトを使うには?

    HTMLやJAVAも絡んでくるので その他の部類で投稿させて頂きます。 <INPUT value="<script language="javascript">document.write(getNumFormat('<c:out value="${売上予算}"/>'));</script>"> こんなイメージでJSPに今、メソッドを書き込んでいます。 ここでは、テキストボックスに整数を入力、 またはDBから抽出してきた数字が表示されます。 そこで私がやりたいのは、 整数を三桁区切りのカンマ付きで表示したいのです。 VALUEに記述してある <script language="javascript">document.write(getNumFormat('<c:out value="${売上予算}"/>'));</script> だけだと私の意図する様に表示されますが、 INPUTを付けてしまうと文字列として扱ってしまうため、 命令文がテキストとして表示されてしまいます。 一体、どうすればいいのでしょうか?

  • 縦書き+右へ表示

    どうしていいものか分からないので質問させてください。 今、mdbに入っている時刻表のデータをJavaScriptで出す作業をしています。 ■mdbの中身(時刻) 05:55 06:05 06:15 (とこのようにデータが入っています) ■JavaScript側 <script language="JavaScript"><!-- JIKOKU = new Array(""<%begindetail%>,"<%時刻%>"<%enddetail%>) i = 0; n = 2; BINSU = JIKOKU.length; for ( i = 0; i <= BINSU; i++ ){ document.write(JIKOKU[i].substr(JIKOKU[i].length-n, n)); document.write("<br>"); } document.write(BINSU); //--></script> JavaScript側では一番最初に配列に全部データを入れて、それをfor文で回して出しています。表示が右側2文字になっているのは時刻表のようにしたいからです。 現状だと一列に縦に表示されます(毎回改行している為) これを時間帯ごとに縦1列に出したいのです。 ■現在の表示(右側2文字だけ表示するようにしています) 55 05 15 ■目指すイメージ(時間帯ごとに右側にずらす。) 35 05 45 15 55 25 一体どのように書けば良いのでしょうか。アドバイスをお願い致します。

  • 数値の桁区切りって?

    こんな 素朴な質問を お許しください。 私にとっては、ずっと 気になっていることなのです。 思い切って、今日は聞いてみます。  数値の 3桁区切りというのが ありますよね。 あれは、金額表示のときだけに 使うのが 正しいのでしょうか。それとも、数値全般に 使っても おかしくは ないのでしょうか。  もし 良ければ お教えくださいませ。 よろしく お願い致します。