4

私が持っているとしますLong someLong = 1004L。これを に切り下げるには、どの効率的な方法を使用でき1000Lますか? 私は実際にはそれを知らないsomeLong == 1004Lので、単純にできないことに注意してくださいsomeLong -= 4L;。一般化可能な方法が必要です。また、 each5の代わりに each10に丸める機能も必要です。たとえば、丸める関数1005Lです ( で丸めると、切り捨て5ではなく切り上げられるため)。

より多くの例..それは私が持っている可能性があり、私が必要とする意味に1926L丸めたい. または、必要な意味に丸める必要があります。51925L101930L

4

6 に答える 6

1
myFloor(long n, int m) {
  return n - (n % m);
}


myRound(long n, int m) {
  int i = (n % m) >= (m / 2) ? m : 0;
  return n + i - (n % m);
}

そうmかもしれません10 , 5 , ...

于 2014-04-11T13:07:44.020 に答える