strtod(3C)

strtod, atof, strtold, atold - convert string to double-precision or long double-precision number

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     strtod, atof, strtold, atold - convert string to double-precision or long
     double-precision number

SYNOPSIS
     #include <stdlib.h>

     double strtod (const char *nptr, char **endptr);

     double atof (const char *nptr);

     long double strtold (const char *nptr, char **endptr);

     long double atold (const char *nptr);

DESCRIPTION
     (Note that the long double routines are only valid for the MIPSpro
     compilers.)

     strtod returns as a double-precision floating-point number the value
     represented by the character string pointed to by nptr.
     Similarly, strtold returns as a long double-precision floating-point
     number the value represented by the character string pointed to by nptr.
     Each function scans the string up to the first unrecognized character.

     strtod and strtold recognize 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 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).

     atold(nptr) is equivalent to:
          strtold(nptr, (char **)NULL).

SEE ALSO
     ctype(3C), strtol(3C), scanf(3S).

NOTE
     Precision may be silently lost if the number of digits comprising the
     floating-point number (i.e., not including the exponent) exceeds the
     value of the constant DBL_DIG (LDBL_DIG) in <float.h>.
DIAGNOSTICS
     If the correct value would cause overflow, +/-HUGE_VAL 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.