Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

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

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

Ü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 Feature-Test-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  von
       isspace(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«  oder  »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 │
       └───────────────────────────────────────────────────────────────┴───────────────────────┴────────────────┘

STANDARDS

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

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)

Ü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⟩.