Amiga Unix — 68040 · 68060

Manual pages › C library (3C)

strtod(3C)

convert string to double-precision number

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

strtod, atof, - convert string to double-precision number

SYNOPSIS

#include <stdlib.h>

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

double atof (const char *nptr);

DESCRIPTION

strtod returns as a double-precision floating-point number the value represented by the character string pointed to by nptr. The string is scanned up to the first unrecognized character.

strtod recognizes 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, 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).

SEE ALSO

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

DIAGNOSTICS

If the correct value would cause overflow, _HUGE 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.
When the -Xc or -Xa compilation options are  used,  HUGE_VAL
is returned instead of HUGE.