- 締切済み
javascript税抜き合計と税込み合計を表示
htmlにjavascriptで税抜き合計と税込み合計を自動で表示したいです。 お教えいただけましたら幸甚です。 商品1 <span id="shouhin1">500</span> 商品2 <span id="shouhin2">500</span> ・・・ 商品9 <span id="shouhin9">500</span> ※商品1だけの場合もあります。 税抜き合計 <span id="zeinuki">ここに自動で表示</span> 税込み合計 <span id="zeikomi">ここに自動で表示</span> ※消費税は小数点以下切り捨てでお願いします。 以上何卒宜しくお願い申し上げます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- amanojaku1
- ベストアンサー率54% (265/488)
注意 charsetはShift-JISです、保存する場合にcharsetを注意して下さい。 エラー処理は何もしてません、実用的にするにはエラー処理が必要です。 100倍して計算して(正規表現も使用して)ますが、浮動小数点演算の誤差に対応するために必須です。 浮動小数点演算の誤差に関しては下記のページを参照して下さい。 javascriptで浮動小数点の問題 https://okwave.jp/qa/q9502173.html <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> <TITLE>test</TITLE> </head> <body> <span id="shouhin1">10</span><br> <span id="shouhin2">20</span><br> <span id="shouhin3">30</span><br> <span id="shouhin4">40</span><br> <span id="shouhin5">50</span><br> <span id="shouhin6">60</span><br> <span id="shouhin7">70</span><br> <span id="shouhin8">80</span><br> <span id="shouhin9">90</span><br> <span id="shouhin10">123</span><br> <br> <script type="text/javascript"> <!-- zQuantity = 10; zInitial = 1; zFirstName = "shouhin"; zLastName = ""; zPrice = 0; zTotalPrice = 0; for(i = zInitial; i<zInitial+zQuantity; i++){ zTotalPrice += Number(document.getElementById(zFirstName+i).textContent); } Zeikomi100 = String(zTotalPrice*108); r = Zeikomi100; r = r.replace(/([0-9]*)([0-9]{2})(\.|$)/g, "$1.$2"); r = r.replace(/([0-9]*)\.([0-9]*)/g, "$1"); Zeikomi = Number(r); alert(zTotalPrice+"\n"+ Zeikomi100+"\n"+ Zeikomi+"\n"+ ""); document.write('zeinuki=<span id="zeinuki">'+zTotalPrice+'</span><br>'); document.write('zeikomi=<span id="zeikomi">'+Zeikomi+'</span><br>'); // --> </script> </body> </html>
お礼
早速のご回答本当に有難うございました。 非常に感激しております。 ただ、環境がUTF-8であるのと、javascriptは外部ファイルにしたく思っております。(100以上の既にあるページにID要素を一括で付与して完成させる必要があるためです。) お教えいただき恐縮ではございますが、UTF-8で作動する外部javascriptが可能であればお教えいただけましたら有り難く存じ上げます。 本当に申し訳ございません。
補足
誠に申し訳ございません。 あと商品の金額にはコンマが付いております。 90000ではなく90,000となります。 合計金額にもコンマを付与したいです。