stepros
Messages postés4Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention 5 février 2007
-
3 févr. 2007 à 02:32
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 2014
-
5 févr. 2007 à 14:08
Bonjour à tous,
Je suis nouveau dans la programmation surtout en C++.
Mais pour un petit travail que j'ai à faire, j'aurais besoin de vous pour résoudre mon petit problème.
Voila : j'ai une valeur x en Double et je voudrais la convertir dans un tableau de char incluant la virgule.
Alors quelqu'un peu m'aider?????
stepros
Messages postés4Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention 5 février 2007 3 févr. 2007 à 15:27
Merci Skirby pour le site très intéressant.
Mais malheureusement le site ne répond pas à ma question.
Je pourrais préciser que je travaille avec Visual Studio 2003.Net en C++, et mon problème en faite est de prendre une valeur double dans un TextBox et la combiner avec du String (CString, String ou char*, je ne sais plus) pour ensuite afficher le tout dans une autre TextBox.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 3 févr. 2007 à 15:31
Salut,
On peut même éviter sprintf() en créant sa propre fonction de conversion.
Voici un code source contenant plusieurs fonctions de conversion.
http://www.cppfrance.com/codes/IMPLEMENTATION-GESTION-STANDARD-CHAINES La fonction StrFtoa() permet de convertir un double en chaine de caractères. Voici son prototype:
void StrFtoa(double value, char *string, long precision, char mode);
Son implémentation se trouve dans le fichier strlib_format.c
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 3 févr. 2007 à 16:41
turnerom> Qu'est censée faire ta fonction? Pour moi elle ne fait que retourner une chaine vide
Ca te semble pas plus logique d'utiliser ostringstream ici?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 févr. 2007 à 16:48
racpp >
long integer;
/* Récupération de la partie entière */
integer = (long)value;
etc, etc..
ne me semble pas qu'on puisse conseiller ce code, rien ne garantit que la partie entière tiendra dans un long.
Une implémentation correcte de FloatToStr() ne me semble faisable qu'en asm.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 3 févr. 2007 à 23:48
BruNews >> Je n'ai pas examiné le code. Je viens de le retrouver en espérant que ce sera utile. Vu le grand nombre de fonctions proposées, certes améliorables, je pense que c'est utile pour les débutants.
stepros
Messages postés4Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention 5 février 2007 4 févr. 2007 à 21:13
Salut tout le monde,
Je tiens à vous remercier de toutes les suggestions que vous m'avez envoyer.
Mais comme on dit: "C'est en bûchant qu'on arrive à quelque chose".
alors avec vos suggestions j'ai bûché et j'ai trouvé.
Voici ce que j'ai trouvé pour convertir un double en tableau de char:
char buffer [_CVTBUFSIZE]
int longueur = 10; //exemple le longueur du double à récupéré
double source = 3.141516171819;
stepros
Messages postés4Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention 5 février 2007 5 févr. 2007 à 03:03
Félicitation vecchio56 et Brunews qui ont détectées les fautes de frappe que j'ai commise.
Nous pourrons dire :"voila de vrai experts qui ont pus déceler une erreur aussi complexe".
pour les autres... Remplacez " _gctv(source; longueur; buffer) " par " _gctv(source, longueur, buffer) "
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 5 févr. 2007 à 14:08
Voici une autre erreur "très complexe":
La fonction _gctv() n'existe pas. Il s'agit plûtot de _gcvt().
La rigueur est indispensable en programmation C/C++. La moindre omission peut nous faire perdre des heures (voire des journées).