Provided by: manpages-de-dev_4.15.0-9_all bug

BEZEICHNUNG

       strtod - konvertiert eine ASCII-Zeichenkette in eine Fließkommazahl

ÜBERSICHT

       #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);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

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

BESCHREIBUNG

       Die   Funktionen   strtod(),   strtof(),  and  strtold()   wandeln  den  ersten  Teil  der
       Zeichenkette,  auf  die  nptr  zeigt,  in  die  entsprechende  double-,  float-  und  long
       double-Darstellung um.

       Es wird die folgende Form (des Anfangs) der Zeichenkette erwartet : optionale Leerzeichen,
       wie sie vonisspace(3) erkannt werden, ein optionales Plus- '+') oder  Minus-Zeichen  ('-')
       und  dann  entweder  (i)  eine  Dezimalzahl  oder (ii) eine Hexadezimalzahl oder (iii) ein
       unendlicher Wert oder (iv) keine Zahl (ein NAN, not-a-number).

       Eine  Dezimalzahl  besteht  aus  einer  nicht  leeren  Folge   von   Dezimalziffern,   die
       möglicherweise  ein Radix-Zeichen enthält (Dezimalpunkt, von der Locale abhängig, meistens
       '.'), optional gefolgt von einem dezimalen Exponenten. Ein dezimaler Exponent besteht  aus
       einem  'E'  oder 'e', gefolgt von einer nicht leeren Folge von Dezimalziffern. Er bedeutet
       eine Multiplikation mit einer Potenz von 10.

       Eine Hexadezimalzahl besteht aus einem »0x« oder »0X« gefolgt von einer nicht leeren Folge
       von  Hexadezimalziffern  (die  vielleicht  ein  Radix-Zeichen  enthält),  der optional ein
       binärer Exponent folgt. Ein binärer Exponent besteht aus einem 'P' oderr 'p', gefolgt  von
       einem  optionalen  Plus-  oder  Minuszeichen,  gefolgt  von  einer  nicht leeren Folge von
       Dezimalziffern, die für die Multiplikation mit einer Potenz von 2  steht.  Mindestens  ein
       Radix-Zeichen und ein binärer Exponent müssen vorhanden sein.

       Ein  unendlicher  Wert ist ungeachtet der Gross- oder Kleinschreibung entweder  »INF« oder
       »INFINITY«.

       Ein NAN ist (ungeachtet der Groß- oder Kleinschreibung) ein »NAN«,  optional  gefolgt  von
       einer     Zeichenkette     (n-char-sequence).     Die    Zeichenfolge    beschreibt    auf
       implementationsabhängige Weise den Typ des NaNs (siehe ANMERKUNGEN).

RÜCKGABEWERT

       Diese Funktionen liefern den umgewandelten Wert zurück, wenn er existiert.

       Wenn endptr nicht NULL ist, wird an dem durch endptr bestimmten Ort  ein  Zeiger  auf  das
       erste Zeichen gespeichert, das nicht mehr zur Konvertierung herangezogen wurde.

       Wenn keine Konvertierung stattgefunden hat, wird 0 zurückgeliefert und (falls endptr nicht
       Null ist) der Wert von nptr wird am Ort gespeichert, auf den endptr weist.

       Falls der korrekte  Wert  einen  Überlauf  verursacht,  wird  plus  oder  minus  HUGE_VAL,
       HUGE_VALF oder HUGE_VALL zurückgegeben (abhängig vom Typ Vorzeichen des Wertes) und ERANGE
       wird in errno gespeichert.

       Verursacht der korrekte Werte eine Bereichsunterschreitung, wird ein  Wert  zurückgegeben,
       der  nicht  größer  als  DBL_MIN,  FLT_MIN  oder  LDBL_MIN  ist  und  ERANGE wird in errno
       gespeichert.

FEHLER

       ERANGE Überlauf oder Bereichsunterschreitung aufgetreten

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌────────────────────────────────────────────────┬───────────────────────┬────────────────┐
       │SchnittstelleAttributWert           │
       ├────────────────────────────────────────────────┼───────────────────────┼────────────────┤
       │strtod(), strtof(), strtold()                   │ Multithread-Fähigkeit │ MT-Safe locale │
       └────────────────────────────────────────────────┴───────────────────────┴────────────────┘

KONFORM ZU

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

       strtod() wurde auch in C89 beschrieben.

ANMERKUNGEN

       Da 0 ein legitimer Rückgabewert sowohl bei Erfolg als auch  bei  Misserfolg  zurückgegeben
       werden kann, sollte das aufrufende Programm errno vor dem Aufruf auf 0 setzen und nach dem
       Aufruf prüfen, ob errno einen Wert ungleich Null hat.

       In der Glibc-Implementierung wird die n-char-sequence, der optional ein »NAN«  folgt,  als
       Ganzzahl  interpretiert  (mit einem optionalen Präfix »0« oder »0x«, um entweder 8 oder 16
       als Basis zu wählen), die in die Mantissen-Komponente des zurückgegebenen  Wertes  gesetzt
       wird.

BEISPIELE

       Siehe  das  Beispiel  in  der  Handbuchseite  strtol(3);  die  Verwendung  der  in  dieser
       Handbuchseite beschriebenen Funktionen ist ähnlich.

SIEHE AUCH

       atof(3), atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), strtol(3), strtoul(3)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  5.13  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Martin   Eberhard   Schauer
       <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.