2013-08-19 87 views
-1

假設6是NumberRequiredItems基於其他計算。我不希望給了整個事情,只是想做到這一點四捨五入功能在Javascript中計算舍入函數。

我想要做的具體四捨五入:

如果在6,本輪下跌至24 24(分鐘多),否則將 四捨五入爲24的倍數。

我得到我會做24 * Math.round(NumberRequiredItems),但我該如何做「6以內」?

例如,如果像56這樣的東西,去多達72個項目。如果54,下降到48等

我知道這似乎有點棘手,但我很樂意提供幫助。它甚至可以幫助你。

回答

0

你會使用模運算符,%,它做了除法,並返回其餘檢查你的病情。

例如:56 % 24 = 854 % 24 = 6

我會寫你的舍入函數是這樣的:

var roundRequiredItems = function (n) { 
    if (n % 24 <= 6) { 
    return Math.floor(n/24) * 24 
    } else { 
    return Math.ceil(n/24) * 24 
    } 
}; 
0

可以利用的事實是,在JavaScript中,N +真等於n + 1以智能方式解決您的問題:

function foo(n) 
{ 
    return 24*(Math.floor(n/24) + (n%24 > 6)); 
}