strtod(3C) — C LIBRARY FUNCTIONS
NAME
strtod, atof, − convert string to double-precision number
SYNOPSIS
#include <stdlib.h>
double strtod (const char ∗nptr, char ∗∗endptr);
double atof (const char ∗nptr);
DESCRIPTION
strtod returns as a double-precision floating-point number the value represented by the character string pointed to by nptr. The string is scanned up to the first unrecognized character.
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, then an optional exponent part including an e or E followed by an optional sign, followed by an integer.
If the value of endptr is not (char ∗∗)NULL, a pointer to the character terminating the scan is returned in the location pointed to by endptr. If no number can be formed, ∗endptr is set to nptr, and zero is returned.
atof(nptr) is equivalent to:
strtod(nptr, (char ∗∗)NULL).
SEE ALSO
ctype(3C), scanf(3S), strtol(3C)
DIAGNOSTICS
If the correct value would cause overflow, ±HUGE is returned (according to the sign of the value), and errno is set to ERANGE.
If the correct value would cause underflow, zero is returned and errno is set to ERANGE.
When the −Xc or −Xa compilation options are used, HUGE_VAL is returned instead of HUGE.
— C Development Set