我正在创建一个函数,它会增加一个值的百分比,最大值超过“百分比值”
我会尝试解释
5000units * 0,08 = 400
10000units * 0,08 = 800
20000units * 0,08 = 1600 <-I want this to be 800, because thats my max.
我可以使用IF来解决它
x=20000; //can be 1000 to 20000
if(x*0,08>800){
max=800;
}
else{
max=x*0,08;
}
value=x+max;
但有没有办法通过纯数学来做到这一点?也许使用模数?
祝你好运 尼克拉斯
答案 0 :(得分:4)
Math.min
怎么样?
x = 20000;
min = Math.min(x*0.08, 800);
value = x + min;
答案 1 :(得分:1)
您可以使用最低限度的功能:
max = Math.min(x*0.8,800);
答案 2 :(得分:1)
模数运算在这里不是必需或有用的。只需使用min
:
x=20000; //can be 1000 to 20000
value = x + Math.min(x*0.8, 800);
答案 3 :(得分:0)
你想使用Math.min(),我想......
function getNewValue(iInput) {
var modifier = 0.08;
var max = 800;
return iInput + (Math.min((iInput * modifier), max));
}
这样,你得到两者中的较小者。