The
strtod();
function converts the initial portion of the string pointed to by
nptr
to
double
representation.
The
strtof();
function converts the initial portion of the string pointed to by
nptr
to
float
representation.
The
strtold();
function converts the initial portion of the string pointed to by
nptr
to
long double
representation.
The expected form of the string is an optional plus
("+")
or minus sign
("-")
followed by a sequence of digits optionally containing
a decimal-point character, optionally followed by an exponent.
An exponent consists of an
E
or
e,
followed by an optional plus or minus sign, followed by a sequence of digits.
Leading whitespace characters in the string (as defined by the
isspace(3)
function) are skipped.
RETURN VALUES
The
strtod();,
strtof();
and
strtold();
functions return the converted value, if any.
If
endptr
is not
NULL,
a pointer to the character after the last character used
in the conversion is stored in the location referenced by
endptr.
If no conversion is performed, zero is returned and the value of
nptr
is stored in the location referenced by
endptr.
If the correct value would cause overflow, plus or minus
HUGE_VAL
is returned (according to the sign of the value), and
ERANGE
is stored in
errno.
If the correct value would cause underflow, zero is returned and
ERANGE
is stored in
errno.