J’utilise C (pas C ++).
J’ai besoin de convertir un nombre float en un int
. Je ne veux pas arrondir au nombre le plus proche, je veux simplement éliminer ce qui est après la partie entière. Quelque chose comme
4,9 -> 4,9 -> 4
my_var = (int)my_var;
Aussi simple que cela. Fondamentalement, vous n’en avez pas besoin si la variable est int.
Utilisation en C
int C = var_in_float;
Ils vont convertir implicitement
Je vous remercie
Si vous voulez l’arrondir, vous pouvez créer une petite fonction ou définir comme ceci:
#define FLOAT_TO_INT(x) ((x)>=0?(int)((x)+0.5):(int)((x)-0.5)) float my_float = 42.8f; int my_int; my_int = (int)my_float; // => my_int=42; my_int = FLOAT_TO_INT(my_float); // => my_int=43;
Attention, idéalement, vous devez vérifier que le flottant se situe entre INT_MIN et INT_MAX avant de le lancer.