strtod (сокр. от string to double, «строку в число двойной точности») — функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид:
double strtod ( const char * str, char ** endptr );
[1]Функция strtod
разбирает строку Си str
, представляя её содержимое в виде числа с плавающей точкой и возвращает её значение double
. Если endptr
— не нуль-указатель, то функция устанавливает значение, на которое указывает endptr
, равным первому символу после числа.
Вначале функция отбрасывает все пробелы, пока не встретится первый непробельный символ. Затем, начиная с этого символа, считывает все символы, соответствующие синтаксису как у литералов с плавающей точкой, и интерпретирует их в виде числовых значений. Указатель на оставшуюся часть строки после последнего корректного символа сохраняется в объекте, на который указывает endptr
.
Корректной последовательностью чисел с плавающей точкой для strtod
считается последовательность, удовлетворяющая следующим условиям:
Если первая последовательность непробельных символов в str
не содержит корректного числа с плавающей точкой как описано выше, или такой корректной последовательности не существует, так как, например, или str
пуст или содержит только символы пробела, то преобразование не выполняется.
str
endptr
char*
, чьё значение присваивается функцией следующему символу в str
после числового значения. Этот параметр также может быть нуль-указателем, в случае когда он не используется.В случае успеха функция возвращает преобразованное число с плавающей запятой как число с двойной точностью (то есть типа double
).
Если корректное преобразование не может быть выполнено, то возвращается нулевое значение (0.0).
Если корректное значение выходит за пределы представимых значений, то возвращается положительное или отрицательное значение HUGE_VAL
(«huge value», большое число), а глобальной переменной errno
присваивается значение ERANGE
(выход за пределы).
Если корректное значение будет слишком мало, то возвращается ноль, а errno
присваивается значение ERANGE
.
Функция strtod
входит в состав заголовочного файла stdlib.h
стандартной ISO/IEC библиотеки языка Си.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .