2013-03-28 91 views
9

我想要做的基本上是採取任何數量的用戶有輸入,並取整爲最接近的整數通過X整除,排除1下一個最接近的數字整除X

IE(X = 300 ):

輸入= 1個輸出= 300

輸入= 500輸出= 600

輸入= 841輸出= 900

輸入= 305輸出= 300

+9

您的最後一個例子與您聲明的要求相矛盾。 – 2013-03-28 00:26:46

+2

不應該305導致600?你的問題說'下一個最大的數字'。 – 2013-03-28 00:27:48

回答

14

剛(整數),通過X分,由十加一,然後乘以

int output = ((input/x) + 1) * x; 
+0

糟糕,固定它。 – Blorgbeard 2013-03-28 00:29:29

+2

現在它不適用於例如300 – BrokenGlass 2013-03-28 00:30:46

+0

工作得很好,謝謝! – Laveer 2013-03-28 00:39:13

2

根據你的榜樣行爲,我會做這樣的事情:

 
double GetNearestWholeMultiple(double input, double X) 
    { 
     var output = Math.Round(input/X); 
     if (output == 0 && input > 0) output += 1; 
     output *= X; 

     return output; 
    } 
相關問題