Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ strtod(3C) — Motorola System V 88k Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctype(3C)

scanf(3S)

strtol(3C)

strtod(3C)  —  C LIBRARY FUNCTIONS

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.

  —  C Development Set

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026