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 Gleitkommazahl umwandeln (double)

&pagelevel(4)&pagelevel

Definition

#include <stdlib.h>

double atof(const char *s);

atof wandelt die Zeichenkette, auf die s zeigt, in eine Gleitkommazahl vom Typ double um. Die umzuwandelnde Zeichenkette kann wie folgt aufgebaut sein:

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

Für tab sind alle Steuerzeichen für „Zwischenraum“ zulässig (siehe Definition bei isspace).

Returnwert

Gleitkommazahl vom Typ double



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


0

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


HUGE_VAL

für Zeichenketten, deren Zahlenwert außerhalb des zulässigen Gleitkommabereichs liegt. errno wird auf ERANGE gesetzt (Resultat zu groß).

Hinweise

Das Dezimalpunktzeichen (Punkt oder Komma) 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. 

Beispiel

Folgendes Programm wandelt eine beim Aufruf (Enter Options) übergebene Zeichenkette in die entsprechende Gleitkommazahl um.

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
              /* Zahlen werden als Zeichenketten!!übergeben. Eine Umwandlung
                 ist erforderlich, falls der Zahlenwert benötigt wird */
{
  printf("floating : %f\n", atof(argv[1]));
  return 0; }

Siehe auch

  atoi, atol, strtod, strtol, strtoul