Strtod
strtod
Функция Преобразует строку в число двойной точности.
Синтаксис #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.
Смотрите также
Пример:
#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; }