Partager via


_fcvt

Convertit un nombre à virgule flottante en une chaîne Des versions plus sécurisées de ces fonctions sont disponibles ; consultez _fcvt_s.

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

Paramètres

  • value
    Nombre devant être converti.

  • count
    Nombre de chiffres après la virgule.

  • dec
    Pointeur vers l'emplacement de la virgule décimale stockée.

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

Valeur de retour

_fcvt retourne un pointeur vers la chaîne de chiffres, la valeur NULL en cas d'erreur.

Notes

La fonction _fcvt convertit un nombre à virgule flottante en une chaîne de caractères terminés par null. Le paramètre value est le nombre à virgule flottante à convertir. _fcvt stocke les chiffres de value en tant que chaîne et ajoute un caractère NULL ("\0 "). La paramètre count spécifie le nombre de chiffres à stocker après la virgule décimale. Les données en excès sont arrondis aux emplacements count. S'il y a moins de chiffres de précision que count, la chaîne est complétées avec des zéros.

Le nombre total de chiffres retournés par _fcvt n'excédera pas _CVTBUFSIZE.

Seules les chiffres sont stockés dans la chaîne. La position de la virgule décimale et le signe de value peuvent être obtenus à partir de dec et du signe après l'appel. Le paramètre dec pointe sur une valeur entière donnant la position de la virgule décimale par rapport au début de la chaine. Un entier nul ou négatif indique que la virgule décimale se trouve à gauche du premier chiffre. Le paramètre sign pointe vers un entier qui indique le signe de value. L'entier est défini à 0 si value est positif est défini sur un nombre différent de zéro si value est négatif.

La différence entre _ecvt et _fcvt réside dans la traduction du paramètre d' count. _ecvt interprète count comme le nombre total de chiffres dans la chaîne de sortie, alors que _fcvt interprète count comme le nombre de chiffres après la virgule.

_ecvt et _fcvt utilisent une seule mémoire tampon statiquement allouée pour la conversion. Chaque appel à 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 a la valeur NULL, ou si count vaut 0, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno est défini à la valeur EINVAL et NULL est retourné.

Configuration requise

Fonction

En-tête requis

_fcvt

<stdlib.h>

Pour plus d'informations sur la 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::Convert::ToString

Voir aussi

Référence

Conversion de données

Prise en charge de la virgule flottante

atof, _atof_l, _wtof, _wtof_l

_ecvt

_gcvt