Comment savoir si un float est entier? Lang C
Résolu
enjoyC
Messages postés
1
Statut
Membre
-
Emmanuel Delahaye Messages postés 119 Statut Membre -
Emmanuel Delahaye Messages postés 119 Statut Membre -
bonjour,
j'etudie des nombres flotants et j'aimerai savoir si ils sont entier (ex: 13.000 est flotant et entier).
Existe - il une fonction en langage C qui prenne un float en entrée et renvoie 1 ou 0 si le nombre est entier ou pas ? ou quelque chose dns le genre .
Merci
j'etudie des nombres flotants et j'aimerai savoir si ils sont entier (ex: 13.000 est flotant et entier).
Existe - il une fonction en langage C qui prenne un float en entrée et renvoie 1 ou 0 si le nombre est entier ou pas ? ou quelque chose dns le genre .
Merci
3 réponses
-
si fmod() vaut 0 ou est < DBL_EPSILON. Mais vu l'imprécision chronique des flottants le résultat n'est pas garanti ...
Ce que tu affiches "13.00" avec "%.2f" peut très bien en réalité être 13.00000001 avec "%.9f"...
-
Je ne sais pas si une telle fonction existe mais tu peux essayer une division euclidienne par 1 ( avec / ), et comparer le résultat avec ta variable de départ. Si c'est la même chose c'est un entier sinon, c'est qu'il y a un reste donc c'est un float.
-
Divise ton nombre float par la partie entière de ce nombre. Si le résultat est 1 alors le nombre est un entier.