16

我想要做的基本上是取用户输入的任何数字,并将其四舍五入到下一个可被 X 整除的最接近的整数,不包括 1。

即(X = 300):

输入 = 1 输出 = 300

输入 = 500 输出 = 600

输入 = 841 输出 = 900

输入 = 305 输出 = 300

4

2 回答 2

21

只需(整数)除以 X,加一,然后乘以 X。

int output = ((input / x) + 1) * x;
于 2013-03-28T00:26:39.007 回答
4

根据您的示例行为,我会执行以下操作:

双GetNearestWholeMultiple(双输入,双X)
    {
      var output = Math.Round(输入/X);
      if (输出 == 0 && 输入 > 0) 输出 += 1;
      输出 *= X;

      返回输出;
    }
于 2013-03-28T03:31:34.500 回答