NAME¶
strtod - convert ASCII string to double
SYNOPSIS¶
#include <stdlib.h>
double strtod(const char *nptr, char
**endptr);
DESCRIPTION¶
The
strtod() function converts the initial portion of the string pointed
to by
nptr to
double representation.
The expected form of the string is optional leading white space as checked by
isspace(3), 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 non-empty sequence
of digits. If the locale is not "C" or "POSIX", different
formats may be used.
RETURN VALUES¶
The
strtod function returns 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.
ERRORS¶
- ERANGE
- Overflow or underflow occurred.
ANSI C
SEE ALSO¶
atof(3),
atoi(3),
atol(3),
strtol(3),
strtoul(3)