STRTOD(3C)
NAME
strtod, atof, nl_strtod, nl_atof − convert string to double-precision number
SYNOPSIS
#include <stdlib.h>
double strtod (str, ptr)
char ∗str, ∗∗ptr;
double atof (str)
char ∗str;
double nl_strtod (str, ptr, langid)
char ∗str, ∗∗ptr;
int langid;
double nl_atof (str, langid)
char ∗str;
inl langid;
DESCRIPTION
Strtod returns, as a double-precision floating-point number, the value represented by the character string pointed to by str. The string is scanned (leading white-space characters as defined by isspace in ctype(3C) are ignored) up to the first unrecognized character. If no conversion can take place, zero is returned.
Strtod recognizes characters in the following sequence:
1. An optional string of “white-space” characters which are ignored,
2. An optional sign,
3. A string of digits optionally containing a radix character,
4. An optional e or E followed by an optional sign or space, followed by an integer.
The radix character is determined by the loaded NLS environment (see setlocale(3C)). If setlocale has not been called successfully, the default NLS environment, "C", is used (see lang(5)). The default environment specifies a period (.) as the radix character.
If the value of ptr is not (char ∗∗)NULL, the variable to which it points is set to point at the character after the last number, if any, that was recognized. If no number can be formed, ∗ptr is set to str, and zero is returned.
Atof(str) is equivalent to strtod (str, (char ∗∗)NULL).
Nl_strtod and nl_atof are similar to the above routines, but first call langinit (see nl_init(3C)) to load the NLS environment specified by langid.
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.
WARNINGS
Nl_strtod and nl_atof are provided for historical reasons only. Their use is not recommended. Use strtod and atof instead.
EXTERNAL INFLUENCES
Locale
The LC_NUMERIC category determines the value of the radix character within the currently loaded NLS environment.
AUTHOR
Strtod was developed by AT&T and HP.
SEE ALSO
ctype(3C), setlocale(3C), scanf(3S), strtol(3C), hpnls(5), lang(5).
STANDARDS CONFORMANCE
strtod: SVID2, XPG2, XPG3, ANSI C
atof: SVID2, XPG2, XPG3, POSIX.1, FIPS 151-1, ANSI C
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989