HP-UX Reference (11i v1 00/12) - 3 Library Functions N-Z (vol 7)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/nan.3m
________________________________________________________________
___ ___
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.
APPLICATION USAGE
strtod() and atof() are thread-safe and async-cancel-safe.
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), 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
HP-UX Release 11i: December 2000 − 1 − Section 3−−899
___
___