Re-salut!
Ces derniers jours j'ai souvent besoin de vous...
j'ai un problème avec une comparaison de gboolean et unsigned_int_type
j'essaie de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(var != giw_vslider_get_value(GIW_VSLIDER(w)){ <div style="margin-left:40px"> printf("**VALUE %f \n",giw_vslider_get_value(GIW_VSLIDER(w))); printf("**aaaa %i \n",var); giw_vslider_set_value(GIW_VSLIDER(w), var);</div>}
où var est unsigned_int_type et giw_vslider_get_value retourne gdouble.
comme ça mon programme entre toujours dans la clause if!! j'ai aussi essayé de caster var avec (gdouble) mais ça ne change rien.
avec les printf je peut contrôler mes valeurs par exemple il print:
Code x : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 **VALUE 1.000000 **aaaa 1 **VALUE 1.900000 **aaaa 2
ça veut dire qu'il rentre dans les deux cas dans le if...
J'ai alors essayé de faire:
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(var - giw_vslider_get_value(GIW_VSLIDER(w)) != 0){
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(var - giw_vslider_get_value(GIW_VSLIDER(w)) == 0){
Dans le premier cas le if est vraie, dans le deuxième il est faux !
Ça vaut dire que 1.00000 est différent de 1…
Je peut faire comment alors pour comparer mes valeurs ??
Partager