Transformer un float en string [Résolu]

Signaler
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
-
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
-
Bonjour à tous!!!


Je pense que le titre est assez explicite, je voudrais transformer une
variable de type float en string de facon à pouvoir l'ajouter à la
suite d'une autre variable string ( enfin la concatenation ne me posera
pas de probleme...)


Et je ne vois pas du tout comment faire...


La moindre idée m'interesse.


Merci d'avance.


Hasen
A voir également:

5 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
16
en C
<tt><tt>#include <stdio.h>
...
char buffer [50];
float f;
n=sprintf (buffer, "%f", f);

en C++
#include <sstream>
..
// créer un flux de sortie
std::ostringstream oss;
// écrire un nombre dans le flux
oss << 10.0;
// récupérer une chaîne de caractères
std::string result = oss.str();
}

</tt></tt>++
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
#include <sstream>


float value = 4.0f;

std::ostringstream oss;

oss << value;


std::string ma_string = "coucou" + oss.str();
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
16
Désolé pour la double réponse, luthor a été de 8 secondes plus rapide :)
++
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
2
C'est tout bon, merci encore, ca marche du feu de dieu!!!!
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Y a la methode un peu viellote :
#define base 10
#define precision 100000000
double nb = 2000.000200000;
char ch[101];
char decimal[20];
char flottant[15];
itoa(int(nb),decimal,base);
double Pflottante = nb-int(nb) + 1;
itoa(int(Pflottante*precision),flottant,base);
ch[0] = '\0';
strcat(ch,decimal);
strcat(ch,".");
strcat(ch,&flottant[1]);

je le fais ici avec des doubles c'est plus precis mais plus gros..

rrk275