HP-UX Reference (11i v1 05/09) - 3 Library Functions N-Z (vol 7)
s
strtod(3C) strtod(3C)
NAME
strtod, atof - convert string to double-precision number
SYNOPSIS
#include <stdlib.h>
double strtod(const char *str, char **ptr);
double atof(const char *str);
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).
EXTERNAL INFLUENCES
Locale
The LC_NUMERIC category determines the value of the radix character within the currently loaded NLS
environment.
RETURN VALUE
If the correct value after rounding would cause overflow (greater in magnitude than MAXDOUBLE (see
values(5)), +HUGE_VAL or -HUGE_VAL is returned (according to the sign of the value), and errno
is
set to
ERANGE.
If the correct value after rounding would cause underflow (lesser in magnitude than MINDOUBLE (see
values(5)), zero is returned and
errno is set to ERANGE.
When the input parameter character string for strtod() and atof() is either inf (case insensitive) or
infinity (case insensitive), HUGE_VAL
is returned.
When the input parameter character string for
strtod() and atof() is nan (case insensitive, Not-a-
Number), a quiet NaN (QNaN) is returned.
AUTHOR
strtod() was developed by AT&T and HP.
SEE ALSO
ctype(3C), setlocale(3C), scanf(3S), strtol(3C), lang(5), thread_safety(5), values(5).
STANDARDS CONFORMANCE
strtod(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, ANSI C
atof(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
Section 3−−932 Hewlett-Packard Company − 1 − HP-UX 11i Version 1: September 2005