Conversion double -> char

juliedb Messages postés 3 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 26 mai 2006 - 26 mai 2006 à 02:29
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 27 mai 2006 à 09:53
voila on a un probleme....
examen dans qql heure et on voudrait savoir comment convertir des variables double en char...

4 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
26 mai 2006 à 03:11
avec wsprintf ou encore avec cette source qui convertie les float en char*

http://www.cppfrance.com/codes/FONCTION-FTOA_30521.aspx

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
27 mai 2006 à 09:41
Dans les biblio standart du c, aucune fonction permet de faire cela, au
mieu tu a int en char. Il est néanmoin possible de le faire avec un
ssprintf mais bon tu double sera implicitement converti en int.
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
27 mai 2006 à 09:52
Ah bon ? et la fonction _ecvt ?

Utilisation:

/* ECVT.C: This program uses _ecvt to convert a
 * floating-point number to a character string.
 */

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
   int     decimal,   sign;
   char    *buffer;
   int     precision = 10;
   double  source = 3.1415926535;

   buffer = _ecvt( source, precision, &amp;decimal, &amp;sign );
   printf( "source: %2.10f   buffer: '%s'  decimal: %d  sign: %d\n",
           source, buffer, decimal, sign );
}


Output

source: 3.1415926535   buffer: '3141592654'  decimal: 1   sign: 0


Tout sort de la MSDN de Visual C++ 6.0
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
27 mai 2006 à 09:53
La variable decimal contient la position du point dans la chaine de sortie, sign le signe du nombre (0 = positif, 1 = negatif).
A toi de retransformer la chaine avec ça.
0
Rejoignez-nous