Программирование на C и C++

Онлайн справочник программиста на C и C++

strtod, strtold

double strtod(const char *start, char **end)

long double strtold(const char *start, char **end)

Прототип: 
Описание: 

Функция strtodp конвертирует строковое представление числа, хранящееся в переменной start, в величину типа double и возвращает результат.

Функция strtod() работает следующим образом. Анализируется строка start и игнорируются все специальные символы (пробелы, символы табуляции и т.д.) в начале строки. Затем читаются символы, составляющие число. Процесс чтения останавливается, как только будет достигнут ка­кой-то из символов, который не может входить в качестве части в число с плавающей запятой. Таким символом может служить пробел, знак пунктуации, отличный от точки, буква, отличная от «Е» и «е». Наконец, параметр end устанавливается так, чтобы он указывал на оставшуюся часть строки. Например, если функция strtod() вызвана с параметром 100.00 Pliers, то будет возвращена величина 100.00, а параметр end будет указывать на пробел перед словом «Pliers».

При возникновении ошибки преобразования функция strtod() возвращает либо HUGE_VAL в случае переполнения, либо —HUGE_VAL в случае потери значимости. Если никакое преобразо­вание невозможно, то возвращается 0.

Функция strtold() является версией типа long double функции strtod().

Пример: