JavaScript(Jscript)で消費税計算について解説しています。
消費税計算
<script language="JavaScript"> doScrn00(); function doScrn00(){ window.onload=initFunc_Scrn00; } function initFunc_Scrn00(){ document.main.num.focus(); } function doCalc(){ var num = 0; var su3 = 0; var su3z = 0; var su5 = 0; var su5z = 0; var su8 = 0; var su8z = 0; var su10 = 0; var su10z = 0; // 表示欄初期化 setTitle(); if (document.main.num.value == "" || document.main.num.value.match(/[^0-9]/) ) { return; } num = parseInt(document.main.num.value,10); if (document.main.kbn1[0].checked && document.main.kbn1[0].value == "0") { // 税抜き金額より消費税、税込み金額を算出する su3z = calculateKbn(num * 0.03); su3 = num + su3z; setValue(1,1,su3z,su3); su5z = calculateKbn(num * 0.05); su5 = num + su5z; setValue(2,1,su5z,su5); su8z = calculateKbn(num * 0.08); su8 = num + su8z; setValue(3,1,su8z,su8); su10z = calculateKbn(num * 0.1); su10 = num + su10z; setValue(4,1,su10z,su10); } else { // 税込み金額より税抜き金額、消費税を算出する su3 = calculateKbn(num / 1.03); su3z = num - su3; setValue(1,2,su3z,su3); su5 = calculateKbn(num / 1.05); su5z = num - su5; setValue(2,2,su5z,su5); su8 = calculateKbn(num / 1.08); su8z = num - su8; setValue(3,2,su8z,su8); su10 = calculateKbn(num / 1.1); su10z = num - su10; setValue(4,2,su10z,su10); } } function calculateKbn(val){ if (document.main.kbn2[0].checked && document.main.kbn2[0].value == "0") { // 切り捨て return Math.floor(val); } else { // 四捨五入 return Math.round(val); } } function setValue(idx,kbn,val1,val2){ document.getElementById("zei" + idx).innerHTML = formatNumber(val1) + "円"; document.getElementById("su" + idx).innerHTML = formatNumber(val2) + "円"; } function formatNumber(val) { var r = ""; // 文字列型変換 var s = "" + val; // 文字列の長さ var p = s.length; // 右側から順に判定する for (var i = 0; i < p; i++) { var c = s.substring(p - 1 - i, p - 1 - i + 1); // 3桁毎、カンマ付加(初回は除く) if (i > 0 && i % 3 == 0) { r = "," + r; } r = c + r; } return r; } function setTitle() { if (document.main.kbn1[0].checked && document.main.kbn1[0].value == "0") { document.getElementById("ts").innerHTML = "税込み金額"; } else { document.getElementById("ts").innerHTML = "税抜き金額"; } for (var i = 1;i < 5;i++) { document.getElementById("zei" + i).innerHTML = ""; document.getElementById("su" + i).innerHTML = ""; } } function doClear(){ document.main.num.value = ""; setTitle(); } </script>