strtod(3C)
strtod, atof, strtold, atold - convert string to double-precision or long double-precision number
As shipped in IRIX 6.5.19. Last changed in IRIX 6.5.19.
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>. As of IRIX 6.5.18, these functions accept hex strings of the form 0x1.xxxpnn, which are floating point constants. A floating constant has a significand part that can be followed by an exponent part and a suffix that specifies its type. The significand may include a digit sequence that represents the whole-number part, followed by a period, followed by a digit sequence that represents the fraction part. The exponent part is composed of e, E, p, or P followed by an exponent that may contain an optionally signed digit sequence. Either the whole number part or the fraction part must be present; for decimal floating constants, either the period or the exponent part has to be present. Example: 0x1.fffp+10. 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.