2009-05-10 5 views

Répondre

74

Si vous utilisez ints, utilisez la macro MIN():

MIN(25, 50); //Returns 25 

Si vous comparez deux NSNumber s, utilisez la méthode compare::

NSNumber *number, *secondNumber; //Assume 'number'=25, 'secondNumber'=50 
NSComparisonResult result = [number compare:secondNumber]; 

return (result==NSOrderedDescending)?secondNumber:number; //Returns the 'number' NSNumber 
52

La bibliothèque standard C comprend plusieurs min() fonctions qui, avec deux chiffres, retournera le plus bas des deux:

double fmin(double x, double y); 
long double fminl(long double x, long double y); 
float fminf(float x, float y); 

Pour les utiliser, il suffit de #include <math.h>.

+2

Ce sont pour les nombres à virgule flottante. Existe-t-il des fonctions stdlib similaires pour les entiers? –

+0

@ZevEisenberg, en C99 la macro ['fmin (x, y)'] (http://fr.cppreference.com/w/c/numeric/math/fmin) fonctionne pour 'int'. –

7

Pour un nombre minimal de utiliser

MIN(number1,number2); 

Pour un nombre max. utilisé

MAX(number1,number2); 
+2

Notez que cela fonctionne avec ints, pas NSNumbers. Pour NSNumber, utilisez @ (MIN (nsNumber1.intValue, nsNumber2.intValue)) ' – tothemario

Questions connexes