Transformer un float en string [Résolu]

Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
29 décembre 2008
- - Dernière réponse : rrk275
Messages postés
542
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
1 octobre 2007
- 7 juin 2006 à 18:56
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Dernière intervention
30 août 2012
2
Merci
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>++

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_laurent1024
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Dernière intervention
28 juillet 2008
1
Merci
#include <sstream>


float value = 4.0f;

std::ostringstream oss;

oss << value;


std::string ma_string = "coucou" + oss.str();
Commenter la réponse de luhtor
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Dernière intervention
30 août 2012
1
Merci
Désolé pour la double réponse, luthor a été de 8 secondes plus rapide :)
++
Commenter la réponse de cs_laurent1024
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
29 décembre 2008
1
Merci
C'est tout bon, merci encore, ca marche du feu de dieu!!!!
Commenter la réponse de cs_hasen
Messages postés
542
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
1 octobre 2007
0
Merci
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
Commenter la réponse de rrk275

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.