Bonjour,
si quelqu'un peut m'expliquer pourquoi ce code se comporte de façon "inattendue", c'est à dire que je passe dans le "if", alors que les 2 valeurs sont identiques.
Si j'enlève la ligne min*=6 et que j'affecte 1.6 à value1, je ne passe pas dans le if -> comportement attendu.
C'est le fait de multiplier qui engendre ce comportement.
Si je remplace les double par des float, le comportement est "correct".
Un truc sur les "double" qu'il faudrait savoir?
Je vous remercie d'éclairer ma lanterne !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 double min = 1.6; min *= 6; UnicodeString value1 = "9.6"; double value2 = value1.ToDouble(); if (value2 < min) { .... }
Pascale38
Partager