Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l

Convertit une chaîne de caractères en un double (_atodbl), un long double (_atoldbl), ou un float (_atoflt).

int _atodbl(
   _CRT_DOUBLE * value,
   char * str
);
int _atodbl_l (
   _CRT_DOUBLE * value,
   char * str,
   locale_t locale
);
int _atoldbl(
   _LDOUBLE * value,
   char * str
);
int _atoldbl_l (
   _LDOUBLE * value,
   char * str,
   locale_t locale
);
int _atoflt(
   _CRT_FLOAT * value,
   const char * str
);
int _atoflt_l(
   _CRT_FLOAT * value,
   const char * str,
   locale_t locale
);

value

La valeur du double, du long double, ou du float qui est produite lors de la conversion de la chaîne en une valeur à virgule flottante. Ces valeurs sont encapsulées dans une structure.

str

La chaîne de caractère à analyser pour convertir en une valeur à virgule flottante.

locale

Paramètres régionaux à utiliser.

En cas de réussite, retourne 0. Les codes d'erreur possibles sont _UNDERFLOW ou _OVERFLOW, qui sont définis dans le fichier d'en-tête Math.h.

Ces fonctions convertissent une chaîne en une valeur à virgule flottante. La différence entre ces fonctions et la famille de fonctions atof est que ces fonctions ne génèrent pas de code à virgule flottante et n'entraînent pas d'exceptions matérielles. À la place, les conditions d'erreur sont signalées comme des codes d'erreur.

Si une chaîne n'a pas d'interprétation valide comme valeur à virgule flottante, value est mis à zéro et la valeur de retour est zéro.

Les versions des fonctions qui disposent du suffixe _l sont identiques aux versions qui n'en disposent pas, sauf qu'elles utilisent les paramètres régionaux passés au lieu du thread de paramètres régionaux actuel.

Routines

En-tête requis

_atodbl , _atoldbl, _atoflt

_atodbl_l , _atoldbl_l, _atoflt_l

<stdlib.h>

// crt_atodbl.c
// Uses _atodbl to convert a string to a double precision
// floating point value.

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

int main()
{
   char str1[256] = "3.141592654";
   char abc[256] = "abc";
   char oflow[256] = "1.0E+5000";
   _CRT_DOUBLE dblval;
   _CRT_FLOAT fltval;
   int retval;

   retval = _atodbl(&dblval, str1);

   printf("Double value: %lf\n", dblval.x);
   printf("Return value: %d\n\n", retval);

   retval = _atoflt(&fltval, str1);
   printf("Float value: %f\n", fltval.f);
   printf("Return value: %d\n\n", retval);

   // A non-floating point value: returns 0.
   retval = _atoflt(&fltval, abc);
   printf("Float value: %f\n", fltval.f);
   printf("Return value: %d\n\n", retval);

   // Overflow.
   retval = _atoflt(&fltval, oflow);
   printf("Float value: %f\n", fltval.f);
   printf("Return value: %d\n\n", retval);

   return 0;
}
Valeur double : 3.141593
Valeur de retour : 0

Valeur du float : 3,141593
Valeur de retour : 0

Valeur du float : 0,000000
Valeur de retour : 0

Valeur du float : 1.#INF00
Valeur de retour : 3
Afficher:
© 2015 Microsoft