Учись программированию на C++ Builder бесплатно!

Функция


Преобразует строку в число с плавающей точкой.

Синтаксис


#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.

Пример


#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;
}
Поделиться