我这里有一个带有脚本的html页面,我怎样才能得到这个条件的总数?输入范围1-1000的最小充电量为15。后续范围为输入值+最大范围的1.5%。例如,如果我输入2300,属于2000-2500范围,则总数将为2338,达到其最大范围的1.5%。
$('#padala-pera').keyup(function() {
let iv = +$(this).val();
let num;
if (iv <= 1000) num = 15;
else {
let times = Math.ceil(iv / 500);
if (times % 2 == 0) {
num = 15 + Math.ceil((iv - 1000) / 500) * 8;
} else {
num = 15 + Math.ceil((iv - 1000) / 500) * 7;
}
let result = iv + num;
$('#padala-result').text(`₱${Math.ceil(result)}`);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id='padala-pera' />
<div id='padala-result'></div>
为了清楚起见,这里是要计算的费用范围和金额。
1条答案
按热度按时间ilmyapht1#
您的代码可以简化为单行计算:
细分:
+$(this).val()
确保val是一个数字Math.max(500.01, val)
不存在0-500的情况,因此在计算1.5%
最多可达到1000个范围Math.ceil(Math.max(500.01, val) / 500.0) * 500
四舍五入到最接近的500* 0.015
加1.5%(1.5 / 100)
(最接近的500个)val + ...
将原始值添加回