Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       strtod,  strtof,  strtold  -  Convertir  une  chaine  ASCII en nombre a
       virgule flottante

SYNOPSIS

       #include <stdlib.h>

       double strtod(const char *nptr, char **endptr);
       float strtof(const char *nptr, char **endptr);
       long double strtold(const char *nptr, char **endptr);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       strtof(), strtold() :
           _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L
           ou cc -std=c99

DESCRIPTION

       Les fonctions strtod(), strtof() et strtold() convertissent la portion
       initiale de la chaine pointee par nptr en un reel de type double,
       float, et long double respectivement.

       La (portion initiale de la) chaine attendue est de la forme suivante :
       des espaces eventuels en tete, ou des caracteres interpretes comme tels
       par isspace(3), un eventuel signe plus (<< + >>) ou moins (<< - >>), et
       ensuite soit (i) un nombre decimal, soit (ii) un nombre hexadecimal,
       soit (iii) un infini, soit (iv) un non nombre NAN (not-a-number).

       Un nombre d'ecimal consiste en une sequence non vide de chiffres
       decimaux, pouvant contenir un point decimal (dependant de la
       localisation, mais habituellement << . >>), suivi eventuellement d'un
       exposant decimal. Ce dernier est constitue d'un << E >> ou << e >>
       suivi eventuellement du signe plus ou du signe moins, puis une sequence
       non vide de chiffres decimaux, indiquant la multiplication par une
       puissance de 10.

       Un nombre hexad'ecimal commence << 0x >> ou << 0X >>, suivi d'une
       sequence non vide de chiffres hexadecimaux, pouvant contenir un point
       decimal suivi eventuellement d'un exposant binaire. Ce dernier est
       constitue d'un << P >> ou << p >> suivi eventuellement du signe plus ou
       du signe moins, puis une sequence non vide de de chiffres decimaux,
       indiquant la multiplication par une puissance de 2. Il ne peut y avoir
       plus d'un point ou d'un exposant binaire.

       Un infini est soit << INF >>, soit << INFINITY >>, sans tenir compte
       des differences entre majuscules et minuscules.

       Un non-nombre est << NAN >> (sans differences majuscules/minuscules)
       suivi eventuellement par << ( >>, une sequence de caracteres, et
       << ) >>. La chaine de caracteres indique le type de non nombre de
       maniere dependant de l'implementation.

VALEUR RENVOY'EE

       Ces fonctions renvoient la valeur convertie si c'est possible.

       Si endptr n'est pas NULL, un pointeur sur le caractere suivant le
       dernier caractere converti est stocke dans l'emplacement pointe par
       endptr.

       Si aucune conversion n'est possible, la fonction renvoie zero, et la
       valeur de nptr est stockee dans endptr.

       Si la valeur convertie declenche un debordement (overflow), la fonction
       renvoie plus ou moins HUGE_VAL (HUGE_VALF, HUGE_VALL) et errno contient
       le code d'erreur ERANGE. Si la valeur convertie declenche un
       debordement inferieur (underflow), la fonction renvoie 0, et errno
       contient le code d'erreur ERANGE.

ERREURS

       ERANGE Debordement.

CONFORMIT'E

       C89 decrit strtod(). C99 decrit les deux autres fonctions.

NOTES

       Comme la valeur 0 peut legitimement etre renvoyee a la fois en cas de
       succes et d'echec, le programme appelant doit positionner errno a 0
       avant l'appel, et determiner si une erreur s'est produite en regardant
       si errno a une valeur non nulle apres l'appel.

EXEMPLE

       Consultez l'exemple dans la page de manuel strtol(3) ; l'utilisation
       des fonctions decrites dans cette page de manuel est identique.

VOIR AUSSI

       atof(3), atoi(3), atol(3), strtol(3), strtoul(3)

COLOPHON

       Cette page fait partie de la publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler des
       anomalies peuvent etre trouvees a l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
       francophone au sein du projet perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006).  Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en ecrivant a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.