double en string

double en string - C - Programmation

Marsh Posté le 12-04-2005 à 12:27:07    

Bonjour
 
Voila, j'ai besoin de transformer un double en une chaine de caractere, et inversement. Et j'arrive pas du tout a savoir comment faire, pas la moindre piste dans mes bouquin. Pourriez-vous me filer un coup de main?  
 
Merci
 

Reply

Marsh Posté le 12-04-2005 à 12:27:07   

Reply

Marsh Posté le 12-04-2005 à 12:32:49    

blaise_laporte a écrit :

Voila, j'ai besoin de transformer un double en une chaine de caractere, et inversement. Et j'arrive pas du tout a savoir comment faire, pas la moindre piste dans mes bouquin.


Mauvais bouquins.
 

  • sprintf()
  • [C99]snprintf()


  • strtod()


 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 12-04-2005 à 12:57:22    

mais non, bouquin pour debutant :)
 
sinon, dans un, j'ai trouvé sprintf.
je fais donc  

Code :
  1. double a=5.6;
  2. char s[10];
  3. sprintf(s, "%d", a);
  4. printf ("\nvaleur en trame: %s", s);


 
et il m'affiche une valeur qui n'a rien à voir.

Reply

Marsh Posté le 12-04-2005 à 13:20:37    

blaise_laporte a écrit :

mais non, bouquin pour debutant :)
 
sinon, dans un, j'ai trouvé sprintf.
je fais donc  

Code :
  1. double a=5.6;
  2. char s[10];
  3. sprintf(s, "%d", a);
  4. printf ("\nvaleur en trame: %s", s);


 
et il m'affiche une valeur qui n'a rien à voir.


 
C'est du au formatage que tu mets dans ton sprintf:
%d est utilise pour du type int or dans ton cas tu veux afficher un double
essaye avec %f ou %e et ca marchera.
 

Code :
  1. sprintf(s,"%f",a);

 
Pour voir quel format correspond a quel type tu peux te reporter a la section de ton bouquin qui presente le printf, c est generalement la qu il regroupe ces information.
 

Reply

Marsh Posté le 12-04-2005 à 13:28:30    

blaise_laporte a écrit :


sinon, dans un, j'ai trouvé sprintf.
je fais donc  

Code :
  1. double a=5.6;
  2. char s[10];
  3. sprintf(s, "%d", a);
  4. printf ("\nvaleur en trame: %s", s);


et il m'affiche une valeur qui n'a rien à voir.


Ben oui, si tu mets "%d", c'est normal ! Dans ton livre de débutant, ils expliquent pas les formatteurs de printf() ? C'est quoi ce livre ?

sprintf(s, "%.f", a);


Message édité par Emmanuel Delahaye le 12-04-2005 à 13:29:12

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 12-04-2005 à 14:15:27    

Il l'explique, mais je me suis planté. Des erreur bête du au creux de l'estomac...  
 
Ok, ça marche nickel.  
 
Merci a vous

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed