#include <stdlib.h>double strtod (const char
str, char
ptr);
long double strtold (const char
str, char
ptr);
double atof (const char
str);
strtod recognizes an optional string of ``white-space'' characters [as defined by isspace in ctype(3C)], then an optional sign, then a string of digits optionally containing a decimal-point character [as specified by the current locale; see setlocale(3C)], then an optional exponent part including an e or E followed by an optional sign, followed by an integer.
If the value of ptr is not (char )0,
a pointer to the character terminating the scan is returned in
the location pointed to by ptr.
If no number can be formed,
ptr is set to str,
and zero is returned.
On the processors that support strtold, this function is equivalent to strtod, except that it returns a long double-precision floating-point number.
atof(str) is equivalent to:
strtod(str, (char)0)
If the correct value would cause underflow, zero is returned and errno is set to ERANGE.
When the -Xt compilation options are used [see cc(1)], a value that compares equal to ±HUGE is returned instead of ±HUGE_VAL.