Bonjour tous,
je viens vous soumettre un de mes problèmes, j'espère que vous pourrez me débloquer car là je ne sais plus trop quoi faire...
je vous explique :
j'ai un fichier texte qui contient des données : "0.1 45.458 0.2 452.5 ...Etc"
je viens lire ces données ligne par ligne et je stock chacun de ces nombres dans un vecteur de string "vector<string> myNb"
ensuite je viens faire un conversion de ces composantes de "string" vers "double" avec la commande "atof".
ensuite dans mon code je viens faire un test sur ces nombres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part mesDoubles.push_back((atof(myNb[i].c_str())));
mon soucis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(45.458==mesDoubles[i])
tout ceci fonctionne parfaitement excepté lors du test "if"
même si dans mon fichier texte j'ai le nombre "45.458" il ne sera transformé par atof en "45.457999999999999999999999"
et du coup ma conditionqui devrait être vrai ne l'ai jamais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(45.458==mesDoubles[i])
Question :
du coup, je voudrais savoir comment dois je faire pour que ce test soit vrai lorsque 45.458 est enregistré dans le code en
temps que "45.457999999999999999999999" ??
est il possible que "atof" m'enregistre automatiquement la valeur exacte "45.458" ???
je vous remercie pour l'aide que vous pourrez m'apportez !!!
Partager