The
strtod(),
strtof(), and
strtold() functions return the converted value, if any.
A character sequence
INF or
INFINITY is converted to infinity, if supported, else to the largest finite floating-point number representable on the machine (i.e., VAX).
A character sequence
NAN or
NAN(n-char-sequence-opt) is converted to a quiet NaN, if supported, else remains unrecognized (i.e., VAX).
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,
HUGE_VALF, or
HUGE_VALL is returned (according to the return type and 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.