Arrondir un double et tester si c'est un entier

leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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