Bonjour,
J'ai un petit problème avec la récupération de floats depuis un fichier texte.
Pour les récupérer, je fais ça :
Donc, pour vérifier que tout ça fonctionne, je réecris mes floats. Quand je ne définissait pas le nombre de décimales, il me tronquait en général à 4 chiffres après la virgule (au niveau de l'affichage). J'ai 6 chiffres après la virgule à chaque fois, donc j'ai mis un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string maligne; float f1,f2,f3; ifstream fichier("toto.truc"); getline(fichier, maligne); istringstream iss(maligne); iss >> f1 >> f2 >> f3;
avant la sortie. Mais là, je me retrouve avec des flottants à 6 chiffres après la virgule arrondis...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cout << setprecision(6) << fixed;
Un petit exemple : dans mon fichier d'entrée, j'ai 4.700000, et quand je lis le float correspondant, j'ai 4.700001...
Quand j'affiche plus de 6 chiffres après la virgule, j'ai d'autres chiffres qui apparaissent (à la place des 0 que je m'attendais à trouver).
J'ai essayé de vider le flux après chaque affichage, mais ça fait pareil, donc le problème ne viendrait pas de là.
D'où ça peut venir à votre avis?
Partager