javascript - 使用javascript根据数量计算成本

标签 javascript jquery

我似乎无法完成这个。我知道如何确定该数字是否可以被 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/

相关文章:

javascript - 将 Div 附加到 Th id/django forloop 计数器问题

javascript - 删除创建的 javascript 字段集

javascript - 为什么会有 NaN?

javascript - 使用 react 钩子(Hook)更新本地状态

javascript - yadcf 过滤器不工作

javascript - 客户端与服务器端的文件名清理

jQuery UI 对话框添加内容

javascript - 为什么 jQuery backgroundPosition 动画函数是跳跃而不是动画?

javascript - 如何显示用户 discord.js/userinfo 命令的角色

javascript - fs-额外 : Error: EPERM: operation not permitted, 取消链接