math - 在值处添加百分比,但限制为最大值?

时间:2014-02-25 15:47:01

标签: javascript math percentage algebra

我正在创建一个函数,它会增加一个值的百分比,最大值超过“百分比值”

我会尝试解释

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;

但有没有办法通过纯数学来做到这一点?也许使用模数?

祝你好运 尼克拉斯

4 个答案:

答案 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));
}

这样,你得到两者中的较小者。