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".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mesDoubles.push_back((atof(myNb[i].c_str())));
ensuite dans mon code je viens faire un test sur ces nombres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(45.458==mesDoubles[i])
mon soucis :

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 condition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(45.458==mesDoubles[i])
qui devrait être vrai ne l'ai jamais...

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 !!!