69 votes

Diviser les int et terminer en Objective-C

J'ai 2 int. Comment puis-je diviser l'un par l'autre et ensuite arrondir après?

203voto

Howard Points 23487

Si vos intérêts sont A et B et que vous voulez avoir un plafond (A / B), calculez simplement (A+B-1)/B .

37voto

kraag22 Points 698

Qu'en est-il de:

 float A,B; // this variables have to be floats!
int result = floor(A/B); // rounded down
int result = ceil(A/B); // rounded up
 

4voto

Nathan Garabedian Points 518

Comme en C, vous pouvez convertir les deux en flottant puis arrondir le résultat à l'aide d'une fonction d'arrondi prenant un flottant en entrée.

 int a = 1;
int b = 2;

float result = (float)a / (float)b;

int rounded = (int)(result+0.5f);
i
 

4voto

Thomson Comer Points 2369
-(NSInteger)divideAndRoundUp:(NSInteger)a with:(NSInteger)b
{
  if( a % b != 0 )
  {
    return a / b + 1;
  }
  return a / b;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X