Функция Преобразует строку в число двойной точности.
Синтаксис #include
double strtod(const char *s, char **endptr);
Файл, содержащий string.h
прототип
Описание strtod преобразует символьную строку s в число
двойной точности. Строка s - это последователь-
ность символов, которая может быть интерпретиро-
вана, как значение двойной точности; Символы дол-
жны соответствовать следующему формату:
[ws] [sn] [ddd] [.] [ddd] [fmt[sn]ddd], где
[ws] - необязательный незначащий символ пробела;
[sn] - необязательный знак (+ или -);
[ddd] - необязательные цифры;
[fmt] - необязательные символы e или E;
[.] - необязательная десятичная точка.
strtod также распознает +INF и -INF как плюс и
минус бесконечность, и +NAN и -NAN как не число.
В качестве примера ниже приведены некоторые сим-
вольные строки, которые функция strtod может кон-
вертировать в число двойной точности:
+1231.1981 е-1
502.85Е2
-2010.952
strtod прекращает чтение строки на первом встре-
тившемся символе, который не может быть интерпре-
тирован, как соответствующая часть числа двойной
точности.
Если параметр endptr не NULL, функция strtod
присваивает endptr указатель на символ, который
остановил считывание (*endvar = &stopper). Этот
параметр используется для обнаружения ошибок.
Возвращаемое strtod возвращает значение s как число
значение двойной точности. В случае переполнения она возв-
ращает положительное или отрицательное значение
HUGE_VAL.
Переносимость strtod поддерживается на системах UNIX и совме-
стима с ANSI C.
Смотрите также atof
Пример:
#include
#include
int main(void)
{
char input[80],*endptr;
double value;
printf("Введите число с плавающей точкой: ");
gets(input);
value = strtod(input,&endptr);
printf("Строка: %s, число: %lf\n",input,value);
return 0;
}