假设6是基于其他计算的NumberRequiredItems。我不想透露整个事情,只是想做这个圆整功能
我想做特定的四舍五入:
如果在6以内,则向下舍入到24的倍数(24的最小值),否则向上舍入 到24的倍数。
我得到24 * Math.round(NumberRequiredItems),我怎么办“6岁以内”呢?
例如像56这样的东西,最多可以有72个项目。如果是54,则下降到48等等。
我知道这看起来有点棘手,但我很乐意帮忙。它甚至可以帮助你。
答案 0 :(得分:0)
function amount(NumberRequiredItems) {
return 24 * Math.floor(NumberRequiredItems / 24) + (NumberRequiredItems % 24 > 6 ? 24 : 0);
}
答案 1 :(得分:0)
您可以使用Modulo运算符%
进行除法运算,并返回余数以检查您的情况。
例如:56 % 24 = 8
和54 % 24 = 6
我会写下你的舍入函数:
var roundRequiredItems = function (n) {
if (n % 24 <= 6) {
return Math.floor(n / 24) * 24
} else {
return Math.ceil(n / 24) * 24
}
};
答案 2 :(得分:0)
您可以利用以下事实:在javascript中,n + true等于n + 1以智能方式解决您的问题:
function foo(n)
{
return 24*( Math.floor(n/24) + (n%24 > 6));
}