0

数値が 4 の倍数であることを検出したいのですが、そうでない場合は、for ループを使用して、4 の倍数になるまでその数値を加算することを考えていました。

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
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 に答える
1

modulo演算子の結果を使用します。

var mod = number % 4;

if (mod !== 0)
    number += (4 - mod);
于 2013-05-30T08:48:15.610 に答える