Partager via


_fcvt

Convertit un nombre à virgule flottante en chaîne.un plus version sécurisée de cette fonction est disponible ; consultez _fcvt_s.

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

Paramètres

  • value
    Nombre à convertir.

  • count
    Nombre de chiffres après la virgule.

  • dec
    Pointeur vers la position de virgule décimale stockée.

  • sign
    Pointeur vers l'indicateur stocké de signe.

Valeur de retour

_fcvt retourne un pointeur vers la chaîne de chiffres, NULL sur l'erreur.

Notes

la fonction d' _fcvt convertit un nombre à virgule flottante à une chaîne de caractères se terminant par null.le paramètre d' value est le nombre à virgule flottante à convertir._fcvt enregistre les chiffres d' value en tant que chaîne et ajoute un caractère Null (" \ 0 ").Le paramètre d' count spécifie le nombre de chiffres à stocker après la virgule décimale.Les chiffres trop sont arrondis off aux emplacements d' count .S'il y a moins de les chiffres d' count de précision, la chaîne est effectuée avec des zéros non significatifs.

Tout le nombre de chiffres retournés par _fcvt 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 du signe après l'appel.les points de paramètre d' dec à une valeur entière ; cette valeur entière affiche la position de la virgule décimale par rapport à le début de la chaîne.Une valeur entière zéro ou négative indique que la virgule décimale se trouve à gauche du premier chiffre.les points d' sign de paramètre à un entier indiquant le signe d' value.L'entier a la valeur 0 si value est positif et a pour valeur un nombre différent de zéro si value 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 les résultats 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

_fcvt

<stdlib.h>

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

Exemple

// crt_fcvt.c
// compile with: /W3
// This program converts the constant
// 3.1415926535 to a string and sets the pointer
// buffer to point to that string.

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

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

   buffer = _fcvt( source, 7, &decimal, &sign ); // C4996
   // Note: _fcvt is deprecated; consider using _fcvt_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

_ecvt

_gcvt