Разделите int и округлите в Objective-C - PullRequest
68 голосов
/ 07 февраля 2011

У меня есть 2 int.Как мне разделить одно на другое, а затем округлить?

Ответы [ 5 ]

201 голосов
/ 07 февраля 2011

Если ваши целые числа A и B и вы хотите иметь ceil (A / B), просто рассчитайте (A+B-1)/B.

35 голосов
/ 13 июня 2012

А как же:

float A,B; // this variables have to be floats!
int result = floor(A/B); // rounded down
int result = ceil(A/B); // rounded up
4 голосов
/ 07 февраля 2011

Как и в C, вы можете привести оба к плавающему, а затем округлить результат, используя функцию округления, которая принимает плавающее значение в качестве входного.

4 голосов
/ 07 февраля 2011
-(NSInteger)divideAndRoundUp:(NSInteger)a with:(NSInteger)b
{
  if( a % b != 0 )
  {
    return a / b + 1;
  }
  return a / b;
}
0 голосов
/ 29 ноября 2017

Если вы ищете 2,1> 3

double row = _datas.count / 3;
double rounded = ceil(_datas.count / 3);
if(row > rounded){
    row += 1;
}else{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...