Duplicar posible:
Rounding numbers in Objective-CObjetivo-c: ¿Cómo redondear los valores de Float?
En Objective-C Cómo redondear valores de coma flotante?
Duplicar posible:
Rounding numbers in Objective-CObjetivo-c: ¿Cómo redondear los valores de Float?
En Objective-C Cómo redondear valores de coma flotante?
Además de las otras respuestas:
float theFloat = 1.23456;
int rounded = roundf(theFloat); NSLog(@"%d",rounded);
int roundedUp = ceil(theFloat); NSLog(@"%d",roundedUp);
int roundedDown = floor(theFloat); NSLog(@"%d",roundedDown);
// Note: int can be replaced by float
Para redondear a decimales específicos, véase la cuestión mencionada por Alex Kazaev.
La función lroundf()
lo hará:
float a=20.49;
int myInt = lroundf(a);
¿y si el valor de a es más de 20.5? – ios
no. lroundf (a) te da como si el valor es 20.75 luego se convierte en 21 y si el valor es 20.45 entonces se convierte en 20 ... significa más de 20.5 entonces se convertirá en 21 más 20. :) –
Convertir a int y luego convertir de nuevo a flote.
CGFloat *myFloat = 100.765;
NSInteger *myInteger = myFloat;
CGFloat *newFloat = myInteger;
Esto funcionará
Eso es truncamiento (piso/ceil) no redondeando – xaphod
Debería usar 'roundf' en lugar de' lroundf' para convertir a 'int' sin previo aviso. No pude editar tu publicación debido al límite mínimo de cambio de personaje para editar. – ersentekin