国民健康保険税額計算
計算結果
// script.js // 入力フォームを動的に生成 function generateInputs() { const household = parseInt(document.getElementById('household').value); const inputsDiv = document.getElementById('inputs'); inputsDiv.innerHTML = ''; // 既存の入力フォームをクリア for (let i = 1; i <= household; i++) { inputsDiv.innerHTML += `
加入者 ${i}
`; } } // 税額を計算 function calculateTax() { const household = parseInt(document.getElementById('household').value); // 税率や固定額の設定 const standardIncomeRate = 0.107; // 通常の所得割率 10.7% const specialIncomeRate = 0.087; // 40歳以下または65歳以上の所得割率 8.7% const standardPerPersonFee = 49200; // 通常の均等割額 const specialPerPersonFee = 34800; // 40歳以下または65歳以上の均等割額 const householdFee = 24000; // 平等割額(世帯あたり固定) const deductionAmount = 430000; // 課税所得計算時に差し引く固定額(43万円) let totalIncomeTax = 0; // 所得割合計 let totalPerPersonTax = 0; // 均等割合計 let totalHouseholdTax = householdFee; // 平等割(世帯あたり固定) // 各加入者の情報を取得して計算 for (let i = 1; i <= household; i++) { const age = parseInt(document.getElementById(`age${i}`).value); const grossIncome = parseFloat(document.getElementById(`grossIncome${i}`).value) * 10000; // 万円を円に変換 // 課税所得を計算 const taxableIncome = Math.max(grossIncome - deductionAmount, 0); // 課税所得は最低0円以上 let incomeRate, perPersonFee; // 年齢に応じた税率と均等割額を適用 if (age <= 40 || age >= 65) { incomeRate = specialIncomeRate; perPersonFee = specialPerPersonFee; } else { incomeRate = standardIncomeRate; perPersonFee = standardPerPersonFee; } // 各加入者の税額を計算 const incomeTax = taxableIncome * incomeRate; // 所得割 const perPersonTax = perPersonFee; // 均等割 // 合計に加算 totalIncomeTax += incomeTax; totalPerPersonTax += perPersonTax; } // 総額を計算 const totalTax = totalIncomeTax + totalPerPersonTax + totalHouseholdTax; // 結果表示(合計税額のみ) document.getElementById('result').innerHTML = `
合計税額: ${totalTax.toLocaleString()}円
`; }