Deklaracja

edytuj
double atof(const char * string)

Plik nagłówkowy

edytuj
stdlib.h
Funkcja jako argument pobiera liczbę w postaci ciągu znaków ASCII, a następnie zwraca jej wartość w formacie double (format zmiennoprzecinkowy). Argument może poprzedzać dowolna liczba białych znaków (spacje, tabulatory itp.) oraz znak (plus (+) lub minus (-)). Funkcja atof() kończy wczytywać znaki w momencie napotkania jakiegokolwiek znaku, który nie jest cyfrą, kropką bądź znakiem e, bądź E.

Wartość zwracana

edytuj
Przekształcona liczba, w przypadku gdy ciąg nie zawiera cyfr zwracana jest wartość 0.
Znak musi bezpośrednio poprzedzać liczbę, czyli możliwy jest zapis "-2.333", natomiast próba potraktowania funkcją atof ciągu "- 2.333" skutkuje zwracaną wartością 0.

Przykład

edytuj
 /* Przyklad uzycia funkcji atof - obliczanie sinusa */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main ()
{
    double n, m;
    char szInput [] = "45.5";
    n = atof (szInput);
    m = sin (n*M_PI/180);
    printf ( "sinus z %lf stopni wynosi %lf\n" , n, m );
    return 0;
}
sinus z 45.500000 stopni wynosi 0.713250

Zobacz też

edytuj
atoi, atol