CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
atof
atof
Функция Преобразует строку в число с плавающей точкой.
Синтаксис #include <math.h>
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.
Смотрите также atoi, atol, ecvt, fcvt, gcvt, scanf, strtod.
Пример:
#include<stdlib.h>
#include<stdio.h>
int main(void)
{
float f;
char *str = "12345.678";
f = atof(str);
printf("строка = %s значение = %5.3f\n",str,f);
return 0;
}
