_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