我似乎无法完成这个。我知道如何确定该数字是否可以被 3 整除,但是一旦我超过 3,我该如何保持折扣加上余数?示例:7 张门票值(value) 120 美元
每件 20 美元或 3 件 50 美元
<input id="raffleTix" type="text" value="0" />
if($('#raffleTix').val() % 3 == 0){
raffle = ($('#raffleTix').val() / 3) * 50;
}else if($('#raffleTix').val() < 3){
raffle = $('#raffleTix').val() * 20;
}else{
}
最佳答案
不需要任何条件逻辑。这可以用一个简单的公式来完成:
var value = $('#raffleTix').val();
var setsOfThree = Math.floor(value / 3);
var singles = value - setsOfThree * 3;
raffle = setsOfThree * 50 + singles * 20;
或者更好的是,它可以全部放在一个函数中,这样就可以在不修改代码的情况下传递不同的值:
function computeCost(quantity, setSize, setCost, singleCost) {
var sets = Math.floor(quantity / setSize);
var singles = quantity - sets * setSize;
return sets * setCost + singles * singleCost;
}
raffle = computeCost($('#raffleTix').val(), 3, 50, 20);
关于javascript - 使用javascript根据数量计算成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131668/