Contents | Index | < Browse | Browse >

LETTERatofULETTER Konvertiert einen ASCII-Text in eine Fließkommazahl.

Übersicht
#include <stdlib.h>

x = atof(s);

double x; // Ergebnis als Fließkommazahl
const char *s; // Eingabe String-Zeiger

Portabilität
ANSI

Erklärung
Diese Funktion konvertiert einen ASCII-Text in eine doppeltgenaue Fließkommazahl. Ein Aufruf von "atof" ist äquivalent zu "strtod(string, 0)".
Der ASCII-Text muß folgendes Format haben:
[ws][sign]digits[.][digits][e|E[sign]digits]
Dabei steht ws für eine Folge von Whitespaces (Leerzeichen und Tabulatoren), sign für ein Vorzeichen + oder - und digits für eine Folge von Ziffern 0 bis 9. Alle Elemente in eckigen Klammer sind optional. Die Nachfolgende Zeichenfolge ist eine gültige Zahl:
+123.456e-78

Rückgabe
Diese Funktion liefert das doppeltgenauen Fließkomma-Äquivalent des ASCII-Textes.
Bei einem Überlauf wird plus oder minus HUGE_VAL geliefert. errno erhält den Wert ERANGE.

Siehe auch
atoi , atol , strtod

Beispiel
#include <stdio.h>
#include <math.h>

void main(void)
{ char buff[80];
double d;

while(1)
{ printf("nBitte geben Sie eine Nummer ein: ");
if(fgets(buff, sizeof(buff), stdin) == NULL)
{
break;
} if(buff[0] == '0')
{
break;
} d = atof(buff);
printf("%en",d);
} printf("n");
}