views:

1639

answers:

2

I have two numbers, and need to get returned the lower one. Is there any function I could use? Sure it's a easy task, I could do an if-statement. I just want to know.

+8  A: 

If you're using ints, use the MIN() macro:

MIN(25, 50); //Returns 25

If you're comparing two NSNumbers, then use the compare: method:

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

return (result==NSOrderedDescending)?secondNumber:number; //Returns the 'number' NSNumber
Perspx
did you forget to include *result?
griotspeak
Good catch – thanks!
Perspx
+5  A: 

The C standard library includes several min() functions that, given two numbers, will return the lower of the two:

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

To use these, just #include <math.h>.

htw
+1 for non-macro stdlib stuff.
rubenvb