0

我希望检测一个数字何时是 4 的倍数。当它不是时,我正在考虑使用 for 循环将这个数字相加,直到它是 4 的倍数。所以像这样(在 javascript 中):

if (number % 4 !== 0) {
  for (var i=0;<confused about what condition to put here>; i+=1) {
    if ((number + i) % 4 == 0) {
      return number += i;   // Return the new number
    }
  }
}

所以,我想增加一个不是 4 的倍数的数字,直到它是 4 的倍数。

4

4 回答 4

4

这不是要解决你的问题吗?

if (number%4 !==0) {
 number += 4 - (number%4);
}
于 2013-05-30T08:47:38.053 回答
2

好吧,如果您将循环条件更改为i < 4它应该可以工作。

但正如我在评论中提到的,你最好number + (4 - (number % 4))不要使用循环。

于 2013-05-30T08:48:47.183 回答
1

使用modulo运算符的结果。

var mod = number % 4;

if (mod !== 0)
    number += (4 - mod);
于 2013-05-30T08:48:15.610 回答
1
var someRandomNumber = 9;

console.log('Numbers original value: ' + someRandomNumber);

function makeDivisibleByFour(number) {
    while (number % 4 !== 0)
        number++;
    return number;
}

someRandomNumber = makeDivisibleByFour(someRandomNumber);

console.log('Numbers new value: ' + someRandomNumber);
于 2013-05-30T09:05:54.083 回答