Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

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

ÜBERSICHT

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

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

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

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 Gross- oder Kleinschreibung) ein »NAN«, optional gefolgt
       von'(', einer Zeichenfolge, gefolgt von ')'. Die Zeichenfolge beschreibt auf
       implementationsabhängige Weise den Typ des NaNs.

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 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, HUGE_VALL) zurückgegeben (abhängig vom Vorzeichen des Wertes)  und ERANGE wird
       in errno gespeichert. Verursacht der korrekte Werte eine Bereichsunterschreitung, wird 0
       zurückgegeben und ERANGE wird in errno gespeichert.

FEHLER

       ERANGE Überlauf oder Bereichsunterschreitung aufgetreten

KONFORM ZU

       C89 beschreibt strtod(), C99 beschreibt die beiden anderen Funktionen.

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.

BEISPIEL

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

SIEHE AUCH

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

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project. A description of the
       project, and information about reporting bugs, can be found at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License
       Version 3 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 <debian-l10n-german@lists.debian.org>.