求助:为JavaScript投资计算器添加多档利率规则
投资收益计算代码多档利率修改实现
问题说明
原代码为固定每日4%利率的投资收益计算逻辑,需新增以下多档利率规则:
- 3000≤初始投资金额≤4900时,利率为0.02
- 5000≤初始投资金额≤49999时,利率为0.04
- 注:原规则中第三档区间
50000≤初始投资金额≤49999存在逻辑错误,此处修正为50000及以上,利率为0.09(若需其他区间可自行调整)
修改后的完整代码
JavaScript 代码
var minimumAmount = 5; function DoCalculate() { var temp1 = $("#txtAmount").val(), rate = 0.0; if (!$("#txtAmount").val()) temp1 = 0; var initial = parseFloat(temp1); // 多档利率判断逻辑 if (initial < minimumAmount) { rate = 0; } else if (initial >= 3000 && initial <= 4900) { rate = 0.02; } else if (initial >= 5000 && initial <= 49999) { rate = 0.04; } else if (initial >= 50000) { // 修正原逻辑错误的区间 rate = 0.09; } else { // 覆盖5≤初始金额<3000的情况,保持原默认利率0.04 rate = 0.04; } var totalReturn = parseFloat(initial * rate * 30); if (initial < minimumAmount) { $("#lblDailyProfit").html("0.00"); $("#lblHourlyProfit").html("0.00"); $("#lblTotalProfit").html("0.00"); $("#lblTotalReturn").html("0.00"); } else { $("#lblDailyProfit").html(parseFloat(initial * rate * 24).toFixed(2)); $("#lblHourlyProfit").html(parseFloat(initial * rate).toFixed(2)); $("#lblTotalReturn").html(totalReturn.toFixed(2)); $("#lblTotalProfit").html((totalReturn - initial).toFixed(2)); } } $(function() { DoCalculate(); $("#txtAmount").blur(function() { var inputVal = parseFloat($(this).val()); if (isNaN(inputVal) || inputVal < minimumAmount) { $(this).val(minimumAmount); } }); });
HTML 代码
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- 需配合对应的输入框和显示标签使用,示例结构如下: <input type="number" id="txtAmount" /> <div>每日收益:<span id="lblDailyProfit"></span></div> <div>每小时收益:<span id="lblHourlyProfit"></span></div> <div>总收益:<span id="lblTotalProfit"></span></div> <div>总回款:<span id="lblTotalReturn"></span></div> -->
关键修改点
- 多档利率判断:替换原单一的利率赋值逻辑,通过
else if依次匹配不同投资金额区间,确保每个区间对应正确利率 - 修正逻辑错误:将原第三档无效区间调整为
50000及以上,若实际需求为其他区间(如50000到499999),只需修改该条件的上限值即可 - 输入校验优化:增强输入框失焦时的校验逻辑,处理输入非数字的情况,确保输入值不低于最低投资金额
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

