strtod

strtod

strtod (сокр. от string to double, «строку в число двойной точности») — функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид:

double strtod ( const char * str, char ** endptr );[1]

Содержание

Обзор

Функция strtod разбирает строку Си str, представляя её содержимое в виде числа с плавающей точкой и возвращает её значение double. Если endptr — не нуль-указатель, то функция устанавливает значение, на которое указывает endptr, равным первому символу после числа.

Вначале функция отбрасывает все пробелы, пока не встретится первый непробельный символ. Затем, начиная с этого символа, считывает все символы, соответствующие синтаксису как у литералов с плавающей точкой, и интерпретирует их в виде числовых значений. Указатель на оставшуюся часть строки после последнего корректного символа сохраняется в объекте, на который указывает endptr.

Корректной последовательностью чисел с плавающей точкой для strtod считается последовательность, удовлетворяющая следующим условиям:

  • Знак положительного или отрицательного числа (необязательно)
  • Последовательность цифр, как вариант, может содержать десятичную точку
  • Дополнительная экспонентная часть, которая сама по себе состоит из символа 'e' или 'E', после которого следует дополнительный знак и последовательность цифр.

Если первая последовательность непробельных символов в str не содержит корректного числа с плавающей точкой как описано выше, или такой корректной последовательности не существует, так как, например, или str пуст или содержит только символы пробела, то преобразование не выполняется.

Параметры

str

  • Си-строка, начинающаяся с представления числа с плавающей запятой.

endptr

  • Ссылка на уже выделенный объект типа char*, чье значение присваивается функцией следующему символу в str после числового значения. Этот параметр также может быть нуль-указателем, в случае когда он не используется.

Возвращаемое значение

В случае успеха функция возвращает преобразованное число с плавающей запятой как число с двойной точностью (то есть типа double). Если корректное преобразование не может быть выполнено, то возвращается нулевое значение (0.0). Если корректное значение выходит за пределы представимых значений, то возвращается положительное или отрицательное значение HUGE_VAL («huge value», большое число), а глобальной переменной errno присваивается значение ERANGE (выход за пределы). Если корректное значение будет слишком мало, то возвращается ноль, а errno присваивается значение ERANGE.

Функция strtod входит в состав заголовочного файла stdlib.h стандартной ISO/IEC библиотеки языка Си.

См. также

Примечания

  1. strtod - convert a string to a double-precision number. Архивировано из первоисточника 14 апреля 2012.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "strtod" в других словарях:

  • Strtod — (сокр. от string to double, строку в число двойной точности ) функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr );[1]… …   Википедия

  • Strtod — is a C language function that converts an ASCII string to a double precision value. It is utilized via the following sequence:double strtod(const char *restrict, char **restrict); [OpenGroup Technical Standards Documentation] Strtod is included… …   Wikipedia

  • Atof — The atof function in the C programming language is used to convert a string into a numerical representation.:double atof (const char *string) Note that where as atoi and atol return variable types corresponding with their name ( atoi integer and… …   Wikipedia

  • List of C functions — This page aims to alphabetically list all the predefined functions used in the C standard library, and a few of the non standard functions. * assert.h ** (no functions) * ctype.h ** (non standard) digittoint ** isalnum ** isalpha ** (non… …   Wikipedia

  • Funciones de la biblioteca estándar de C — Anexo:Funciones de la biblioteca estándar de C Saltar a navegación, búsqueda El propósito de este artículo es proporcionar un listado alfabético de todas las funciones de la biblioteca estándar de C, y unas pocas funciones no estándar. Contenido… …   Wikipedia Español

  • Scanf — Saltar a navegación, búsqueda La función scanf() (scan format, analizar con formato), en realidad representa a una familia de funciones que analizan una entrada de datos con formato y cargan el resultado en los argumentos que se pasan por… …   Wikipedia Español

  • Stdlib.h — Saltar a navegación, búsqueda stdlib.h (std lib: standar library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para… …   Wikipedia Español

  • Список функций стандартной библиотеки Си — В этой статье в алфавитном порядке перечислены все предопределенные функции, используемые в стандартной библиотеке Си, а также несколько нестандартных функций. assert.h (нет функций) ctype.h (нестандартная) digittoint isalnum isalpha… …   Википедия

  • Atof — Функция atof в языке программирования Си используется для приведения (конвертации) строки в числовой вид (к числовому типу). Её объявление выглядит следующим образом double atof (const char *string) где string текстовое представление числа с… …   Википедия

  • Atoi — Функция atoi (ASCII to integer, из ASCII в целое цисло) в языке программирования Си используется для приведения (конвертации) строки в числовой вид. int atoi(const char *str) Аргумент str означает строку, представленную в виде массива символов,… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»