Функция Преобразует строку в число с плавающей точкой.
Синтаксис #include
double atof(const char * s);
Файл, содержащий math.h, stdlib.h
прототип
Описание Функция atof преобразует символьную строку,
адресный указатель которой находится в аргументе
s, в число с двойной точностью (тип double); дан-
ная функция распознает символьное представление
числа с плавающей точкой следующего вида:
- необязательная строка табуляции и пробелов;
- необязательный знак;
- строку цифр и необязательную десятичную точку
(цифры могут находиться с обеих сторон от точки)
- необязательные символы e или E, за которыми сле-
дует необязательное целое со знаком
Символы должны соответствовать следующему формату:
[пробелы] [знак] [ddd] [.] [ddd] [e|E[знак]ddd]
atof также распознает +INF и -INF для плюс и минус
бесконечности, +NAN и -NAN для нечисловых значений.
Эта функция прекращает преобразование на первом не-
распознаваемом символе.
strtod аналогична atof; она дает лучшее распознава-
ние ошибок, и поэтому в некоторых случаях предпочти-
тельнее.
Возвращаемое atof возвращает преобразованное значение
значение входной символьной строки.
В случае переполнения atof возвращает положитель-
ное или отрицательное значение HUGE_VAL, глобаль-
ная переменная errno устанавливается в ERANGE и
функция matherr не вызывается.
Переносимость Поддерживается в системах UNIX и определена в ANSI
C.
Смотрите также atoiatolecvtfcvtgcvtscanfstrtod
Пример:
#include
#include
int main(void)
{
float f;
char *str = "12345.678";
f = atof(str);
printf("строка = %s значение = %5.3f\n",str,f);
return 0;
}