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");
}