使用javascript根据数量计算成本

使用javascript根据数量计算成本,javascript,jquery,Javascript,Jquery,我似乎无法完成这件事。我知道如何知道这个数字是否可以被3整除,但一旦我超过3,我如何保持折扣加上余数?例:7张票120美元 每个20美元或50美元3个 <input id="raffleTix" type="text" value="0" /> 不需要任何条件逻辑。这可以通过一个简单的公式来实现: var value = $('#raffleTix').val(); var setsOfThree = Math.floor(value / 3); var singles = val

我似乎无法完成这件事。我知道如何知道这个数字是否可以被3整除,但一旦我超过3,我如何保持折扣加上余数?例:7张票120美元

每个20美元或50美元3个

<input id="raffleTix" type="text" value="0" />

不需要任何条件逻辑。这可以通过一个简单的公式来实现:

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);

非常感谢。这太完美了。我想得太多了。干杯@很高兴我能帮上忙。如果答案对你有帮助,别忘了接受。
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);