Partager via


_ecvt

Convertit un nombre d' double en chaîne.un plus version sécurisée de cette fonction est disponible ; consultez _ecvt_s.

char *_ecvt( 
   double value,
   int count,
   int *dec,
   int *sign 
);

Paramètres

  • value
    Nombre à convertir.

  • count
    Nombre de chiffres enregistrés.

  • dec
    position de virgule décimale stockée.

  • sign
    Signe du nombre converti.

Valeur de retour

_ecvt retourne un pointeur vers la chaîne de chiffres ; NULL si une erreur s'est produite.

Notes

la fonction d' _ecvt convertit un nombre à virgule flottante à une chaîne de caractères.le paramètre d' value est le nombre à virgule flottante à convertir.Cette fonction signale jusqu'à count des chiffres de value en tant que chaîne et ajoute un caractère Null (" \ 0 ").Si le nombre de chiffres dans value dépasse count, le chiffre de poids faible est arrondi.S'il y a moins de les chiffres d' count , la chaîne est effectuée avec des zéros non significatifs.

Tout le nombre de chiffres retournés par _ecvt ne dépasse pas _CVTBUFSIZE.

Uniquement des chiffres sont stockés dans la chaîne.La position de la virgule décimale et le signe d' value peuvent être obtenus à partir de dec et d' sign après l'appel.Les points de paramètre d' dec à une valeur entière indiquant la position de la virgule décimale par rapport à le début de la chaîne.Un 0 ou une valeur entière négative indique que la virgule décimale se trouve à gauche du premier chiffre.Les points de paramètre d' sign à un entier qui indique le signe du nombre converti.Si la valeur est 0, le nombre est positif.Sinon, le nombre est négatif.

la différence entre _ecvt et _fcvt est dans la traduction du paramètre d' count ._ecvt interprète count à mesure que le nombre de chiffres dans la chaîne de sortie, alors qu' _fcvtcount interprète comme un nombre de chiffres après la virgule décimale.

_ecvt et _fcvt utilisent une mémoire tampon allouée de manière statique unique pour la conversion.Chaque appel à l'une de ces routines détruit le résultat de l'appel précédent.

cette fonction valide ses paramètres.si dec ou sign est NULL, ou count est 0, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, errno est défini à EINVAL et la valeur NULL est retournée.

Configuration requise

Fonction

en-tête requis

_ecvt

<stdlib.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

// crt_ecvt.c
// compile with: /W3
// This program uses _ecvt to convert a
// floating-point number to a character string.

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

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

   buffer = _ecvt( source, precision, &decimal, &sign ); // C4996
   // Note: _ecvt is deprecated; consider using _ecvt_s instead
   printf( "source: %2.10f   buffer: '%s'  decimal: %d  sign: %d\n",
           source, buffer, decimal, sign );
}
  

Équivalent .NET Framework

System : : Conversion : : ToString

Voir aussi

Référence

Conversion de données

Support à virgule flottante

atof, _atof_l, _wtof, _wtof_l

_fcvt

_gcvt