Arrondir un double et tester si c'est un entier

leandro95 Messages postés 82 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
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 11653 Statut Contributeur 1 847
 
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