如何在JavaScript中计算单利与复利表格的数值乘积?
计算单利与复利的JavaScript实现
先确认表格元素的ID设置
首先得确保表格里的本金、利率、时间输入框,以及结果单元格都有正确的id属性,比如下面的表格结构示例:
<table> <tr> <td>本金(P):</td> <td><input type="number" id="principal" value="1000"></td> </tr> <tr> <td>年利率(R):</td> <td><input type="number" id="rate" value="5"></td> </tr> <tr> <td>时间(T):</td> <td><input type="number" id="time" value="2"></td> </tr> <tr> <td>单利结果:</td> <td id="simple-interest-result"></td> </tr> <tr> <td>复利结果:</td> <td id="compound-interest-result"></td> </tr> <tr> <td><button onclick="calculateInterest()">计算</button></td> </tr> </table>
JavaScript计算逻辑
然后写计算函数,注意要确保DOM元素加载完成后再操作,或者把脚本放在页面底部:
function calculateInterest() { // 获取输入值 const principal = parseFloat(document.getElementById('principal').value); const rate = parseFloat(document.getElementById('rate').value); const time = parseFloat(document.getElementById('time').value); // 计算单利(公式:P*R*T/100) const simpleInterest = (principal * rate * time) / 100; // 计算复利(公式:P*(1+R/100)^T - P) const compoundInterest = principal * Math.pow((1 + rate/100), time) - principal; // 把结果填入表格,保留两位小数 document.getElementById('simple-interest-result').textContent = simpleInterest.toFixed(2); document.getElementById('compound-interest-result').textContent = compoundInterest.toFixed(2); } // 如果不需要按钮触发,也可以在DOM加载完成后自动计算 document.addEventListener('DOMContentLoaded', function() { calculateInterest(); });
你之前用getElementById无效的可能原因
- 元素的
id拼写错误,检查HTML里的id和JS里的是否完全一致(区分大小写) - 脚本执行时机过早,比如放在
<head>里但没等DOM加载完成,导致获取不到元素 - 目标元素根本没有设置
id属性,或者你混淆了选择器(比如用了class却误用getElementById)
内容的提问来源于stack exchange,提问作者tylerduff
相关产品推荐
相关产品推荐

