STRTOD(3C)
НАЗВАНИЕ
strtod, atof - преобразование цепочки символов в вещественное число двойной точности
СИНТАКСИС
double strtod (str, ptr)
char *str, **ptr;
double atof (str)
char *str;
ОПИСАНИЕ
Результатом функции strtod является вещественное число
двойной точности, заданное цепочкой символов, на которую указывает аргумент str. Цепочка просматривается до
первого нераспознаваемого символа.
Функция strtod распознает: последовательность пробельных символов [см. макрос isspace в ctype(3C)], знак
числа, цепочку цифр, содержащую необязательную точку, и
порядок, состоящий из символа e или E, необязательного
знака порядка или пробела, и целого числа. Часть перечисленных компонентов может отсутствовать.
Если аргумент ptr не равен (char **) NULL, то в слове,
на которое он ссылается, возвращается указатель на символ, вызвавший завершение просмотра. Если число сформировать не удается, то *ptr устанавливается равным str,
и в качестве результата возвращается ноль.
Atof (str) эквивалентно strtod (str, (char **) NULL).
СМ. ТАКЖЕ
ctype(3C), scanf(3S), strtol(3C).
ДИАГНОСТИКА
Если преобразованное число переполняет разрядную сетку,
то возвращается, в зависимости от знака числа, значение
+HUGE или -HUGE [см. intro(3)], а переменной errno
присваивается значение ERANGE. В случае исчезновения
порядка возвращается ноль и errno присваивается значение ERANGE.