Arrondir un double et tester si c'est un entier

Fermé
leandro95 Messages postés 67 Date d'inscription vendredi 25 avril 2014 Statut Membre Dernière intervention 5 juin 2016 - 16 oct. 2015 à 20:41
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 oct. 2015 à 22:41
Bonjour,

J'aimerai faire ceci : j'ai une variable double x = 1 elle s'incrémente de 0.1 chaque seconde j'aimerai savoir quand x est une entier. exemple : à t1 x = 1.90000 à t2 x = 2.0000 ( la condition if x == entier doit fonctionner ) mais je n'y arrive pas avec la fonction round.



int main()
{
double x;
x = 1;
double dx = 0.1;

while(!key[KEY_ESC])
{
x += dx;
if ( x == round(x)){
// etc
}

}
return 0;
}

A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
16 oct. 2015 à 22:41
Bonjour,

Cela n'a pas trop de sens de comparer des double. Il faut plutôt calculer la différence entre x et (int) x. Si le nombre est suffisamment petit, c'est que x est entier.

Cdlt,
0