我似乎无法完成此任务。我知道如何判断这个数字是否可以被3整除但是一旦我超过3,我如何保持折扣加上余数?示例:7张门票价格为120美元
每人20美元或50美元3美元<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{
}
答案 0 :(得分:3)
不需要任何条件逻辑。这可以通过一个简单的公式来完成:
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);