我有一个JavaScript if
语句执行以下操作:
如果选择了名为cardless的付款方式,则cardfee varable将设置为总费用的1%。
if (document.getElementById('payment_method').value == "Cardless") {
cardfee = ((thetotal * (1 + vatrate)) * 0.01);
}
document.getElementById('card_fee').value = cardfee;
formatPrice(document.getElementById('card_fee'));
问题是,虽然总费用的1%是罚款,但付款方式有上限。它的1%但最高为2英镑。
如何进行上述计算,然后再添加另一行,说明如果cardfee大于2英镑,请将cardfee设置为2英镑?
答案 0 :(得分:3)
您无需更改条件,您只需更改分配新值的方式即可。 Using Math.min()
您可以将其分配给两个值中较小的一个:
if (document.getElementById('payment_method').value == "Cardless") {
cardfee = Math.min(((thetotal * (1 + vatrate)) * 0.01), 2.0);
}
如果结果计算大于2.0
,则分配将为2.0
。否则,分配将是计算结果。 (如果两者相等,那么使用哪一个并不重要。)
答案 1 :(得分:0)
只需将第二个语句添加到if
块
if (document.getElementById('payment_method').value == "Cardless") {
cardfee = ((thetotal * (1 + vatrate)) * 0.01);
if (cardfee > 2.0) {
cardfee = 2.0
}
}
document.getElementById('card_fee').value = cardfee;
formatPrice(document.getElementById('card_fee'));