Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference (Volume 7 of 9): Section 3: Library Functions (N-Z) > s

strtod(3C)

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

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.

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

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2000 Hewlett-Packard Development Company, L.P.