Bonjour,
Je suis d'un niveau on ne peut plus debutant en C++, et je cherche a transformer une string en un tableau de double. Dans cette string, mes valeurs sont separees par des virgules, je procede donc d'abord a un decoupage de la chaine en passant par istringstream, puis je converti chaque valeur en double grace a Boost::lexical_cast (j'ai vu dans la FAQ et dans les tutos qu'il faisait ca tres bien...)
A l'affichage de DATALINE (ma chaine), j'obtiens bien ce qui a ete rentre dedans, c'est a dire : "01/10/1977,128578.08,16201.08,23893.8,128578.08,0"
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Par contre, a l'affichage des doubles qui sont extraits, j'obtiens des valeurs arrondies :
128578
16201.1
23893.8
128578
0
De plus, les arrondis semblent incoherents entre eux (128578.08 est arrondi a 128578 alors que 16201.08 est arrondi a 16201.1), donc je ne comprend vraiment pas d'ou ca vient...
Edit : J'ai oublie de preciser : je travaille avec Visual Studio 2005 (sous Windows XP).
Si quelqu'un a une explication, voire une solution, je suis preneur.
Merci
PS : Je precise que je me trouve en ce moment a un decalage horaire de 10 heures de la France, donc je risque fort de ne pas repondre dans la journee... celle-ci etant la nuit pour moi ^^, (je precise a l'avance, on ne sait jamais... )

 

 
		
		 
         
  
			
			



 [Debutant] Arrondi non voulu avec Boost::lexical_cast
 [Debutant] Arrondi non voulu avec Boost::lexical_cast
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 Envoyé par Amariel
 Envoyé par Amariel
					
				 En effet, c'etait donc juste un probleme de precision de l'affichage. Quelquepart ca me soulage franchement... 'cest la qu'on voit que j'ai encore beaucoup a apprendre du C++...
 En effet, c'etait donc juste un probleme de precision de l'affichage. Quelquepart ca me soulage franchement... 'cest la qu'on voit que j'ai encore beaucoup a apprendre du C++... 
Partager