Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

atof - Zeichenkette in Gleitpunktzahl umwandeln

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

double atof(const char *str);

Beschreibung

atof() wandelt eine EBCDIC-Zeichenkette, auf die str zeigt, in eine Gleitpunktzahl vom Typ double um. Die umzuwandelnde Zeichenkette kann wie folgt aufgebaut sein:

[{tab|'BLANK'}...][+|-][digit...][.][digit...][{E|e}[+|-]digit...]
oder
[{tab|'BLANK'}...][+|-]0{X|x}[ hexdigit...][.][hexdigit...][{P|p}[+|-]digit ...]

Für tab sind alle Zwischenraumzeichen zulässig (siehe Definition bei isspace()).

Die Funktion atof(str) unterscheidet sich von strtod(str,(char**)NULL) nur durch die Fehlerbehandlung.

Returnwert

Gleitpunktzahl vom Typ double



für Zeichenketten, die eine wie oben beschriebene Struktur haben und einen Zahlenwert darstellen, der im zulässigen Gleitpunktbereich liegt.

 

Erweiterung


0

für Zeichenketten, die nicht der oben beschriebenen Syntax entsprechen.

 

HUGE_VAL

für Zeichenketten, deren Zahlenwert außerhalb des zulässigen Gleitpunktbereichs liegt. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

atof() schlägt fehl, wenn gilt:


ERANGE

Der Returnwert verursacht einen Über- oder Unterlauf. (Ende)

Hinweise

atof() ist vollständig enthalten in strtod(). Die Funktion wird jedoch weiterhin angeboten, da sie in vielen existierenden Anwendungen eingesetzt ist.

Das Dezimalzeichen in der umzuwandelnden Zeichenkette wird durch die Lokalität (Kategorie LC_NUMERIC) beeinflusst. Voreingestellt ist der Punkt.

atof() erkennt auch Zeichenketten, die mit Ziffern beginnen, dann aber mit beliebigen Zeichen enden. atof() schneidet den Ziffernteil ab, wandelt ihn gemäß obiger Beschreibung um und ignoriert den Rest.

Siehe auch

atoi(), atol(), strtod(), strtol(), strtoul(), stdlib.h.