dwww Home | Manual pages | Find package

strtod(3)                  Library Functions Manual                  strtod(3)

NOM
       strtod,  strtof,  strtold - Convertir une chaîne ASCII en nombre à vir-
       gule flottante

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <stdlib.h>

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

   Exigences de macros de test de fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       strtof(), strtold() :
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIPTION
       Les  fonctions strtod(), strtof() et strtold() convertissent la portion
       initiale de la chaîne pointée par nptr  en  un  réel  de  type  double,
       float, et long double respectivement.

       La  (portion initiale de la) chaîne attendue est de la forme suivante :
       des espaces éventuels en tête, ou des caractères interprétés comme tels
       par isspace(3), un éventuel signe plus (« + ») ou moins (« - »), et en-
       suite soit (1) un nombre décimal, soit (2) un nombre hexadécimal,  soit
       (3) un infini, soit (4) un non nombre NAN (not-a-number).

       Un  nombre  décimal consiste en une séquence non vide de chiffres déci-
       maux, pouvant contenir un point décimal (dépendant de la  localisation,
       mais habituellement « . »), suivi éventuellement d'un exposant décimal.
       Ce dernier est constitué d'un « E » ou « e »  suivi  éventuellement  du
       signe  plus ou du signe moins, puis d’une séquence non vide de chiffres
       décimaux, indiquant la multiplication par une puissance de 10.

       Un nombre hexadécimal commence « 0x » ou « 0X », suivi  d'une  séquence
       non  vide  de  chiffres hexadécimaux, pouvant contenir un point décimal
       suivi éventuellement d'un exposant binaire. Ce  dernier  est  constitué
       d'un  « P »  ou  « p »  suivi  éventuellement du signe plus ou du signe
       moins, puis d’une séquence non vide de chiffres décimaux, indiquant  la
       multiplication par une puissance de deux. Au moins un point ou un expo-
       sant binaire doit être présent.

       Un infini est soit « INF », soit « INFINITY », sans  tenir  compte  des
       différences entre majuscules et minuscules.

       Un  non-nombre  est « NAN » (sans tenir compte de la casse) suivi éven-
       tuellement d'une chaîne (n-char-sequence), où  n-char-sequence  indique
       d'une  façon  dépendante  de l'implémentation le type de NAN (consultez
       NOTES).

VALEUR RENVOYÉE
       Ces fonctions renvoient la valeur convertie si c'est possible.

       Si endptr n'est pas NULL, un pointeur sur le caractère suivant le  der-
       nier  caractère  converti  est  stocké  dans  l'emplacement  pointé par
       endptr.

       Si aucune conversion n'est possible, la fonction renvoie  zéro,  et  (à
       moins que endptr soit NULL) la valeur de nptr est stockée dans endptr.

       Si la valeur convertie déclenche un débordement (overflow), la fonction
       renvoie plus ou moins HUGE_VAL, HUGE_VALF ou HUGE_VALL (en fonction  du
       type de retour et du signe de la valeur) et errno contient ERANGE.

       Si  la valeur convertie déclenche un débordement inférieur (underflow),
       la fonction renvoie  une  valeur  de  grandeur  inférieure  à  DBL_MIN,
       FLT_MIN ou LDBL_MIN et errno contient ERANGE.

ERREURS
       ERANGE Débordement.

ATTRIBUTS
       Pour  une explication des termes utilisés dans cette section, consulter
       attributes(7).

       ┌──────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │strtod(), strtof(), strtold() │ Sécurité des threads │ MT-Safe locale │
       └──────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS
       POSIX.1-2001, POSIX.1-2008, C99.

NOTES
       Comme la valeur 0 peut légitimement être renvoyée à la fois en  cas  de
       succès  et  d'échec,  le  programme appelant doit positionner errno à 0
       avant l'appel, et déterminer si une erreur s'est produite en  regardant
       si errno a une valeur non nulle après l'appel.

       Dans l'implémentation qui en est faite par la glibc, la n-char-sequence
       qui suit NAN est interprétée comme un nombre entier  (avec  un  préfixe
       « 0 » ou « 0x » optionnel pour sélectionner la base 8 ou 16) placé dans
       la mantisse de la valeur retournée.

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

VOIR AUSSI
       atof(3),  atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), str-
       tol(3), strtoul(3)

TRADUCTION
       La traduction française de cette page de manuel a été créée par  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois  Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Gué-
       rard <fevrier@tigreraye.org>, Jean-Luc  Coulon  (f5ibh)  <jean-luc.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.org>,  David  Prévot  <david@tilapin.org>  et Grégoire Scano <gre-
       goire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la        GNU        General       Public       License       version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant  les  conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03   5 février 2023                       strtod(3)

Generated by dwww version 1.15 on Sat Jun 29 00:27:42 CEST 2024.