2011-12-21 10 views
8

puede alguien decirme cómo se puede cambiar el código Java en c.is los objetivos hay ninguna función para Math.min. soy nuevo objetivo cMath.min en Objective C

result = Math.min(Math.min((hra * 12), rent), 
    (0.4 * pay)); 
+0

posible duplicado de [¿Existe una función conveniente en objetivo-c/coca-touch para encontrar un número más bajo?] (http://stackoverflow.com/questions/844990/is-there-a-convenient-function-in-objective-c-coca-touch- to-find-a-low-insensible) – Mark

Respuesta

19

Puede utilizar MIN de NSObjCRuntime.h:

#ifndef MIN 
#import <NSObjCRuntime.h> 
#endif 

result = MIN(MIN((hra * 12), rent), (0.4 * pay)); 
+1

MIN (A, B) ya está definido en NSObjCRuntime.h: no es necesario realizar importaciones o redefiniciones adicionales. – Abizern

+2

NSObjCRuntime.h se importa como parte de Foundation.h. Entonces no hay necesidad del cheque o la importación. Solo úsalo. – Abizern

+1

Veo que está tratando de justificarse. pero la etiqueta de iPhone es un poco regalada. Eso significa Cocoa. Encuéntrame una aplicación Cocoa que no use Foundation.h. Por lo tanto, NSObjcRuntime.h ya se importó, por lo que no es necesario verificar la definición de la macro e importar el encabezado nuevamente. Si MIN ya estaba definido en otra parte, entraría en conflicto con la definición en NSObjCRuntime.h, que ya está incluida, por lo que este no sería el caso. – Abizern

9

Puede utilizar math.h desde C:

#import <math.h> 

// double fmin (double, double) 
NSLog(@"res: %.f", fmin(5,10));