summaryrefslogtreecommitdiffstats
path: root/man3/strtod.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/strtod.3')
-rw-r--r--man3/strtod.3148
1 files changed, 148 insertions, 0 deletions
diff --git a/man3/strtod.3 b/man3/strtod.3
new file mode 100644
index 000000000..be28a7abb
--- /dev/null
+++ b/man3/strtod.3
@@ -0,0 +1,148 @@
+.\" Copyright (c) 1990, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the American National Standards Committee X3, on Information
+.\" Processing Systems.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)strtod.3 5.3 (Berkeley) 6/29/91
+.\"
+.\" Modified Sun Aug 21 17:16:22 1994 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Sat May 04 19:34:31 MET DST 1996 by Michael Haardt
+.\" (michael@cantor.informatik.rwth-aachen.de)
+.\" Added strof, strold, aeb, 2001-06-07
+.\"
+.TH STRTOD 3 2001-06-07 "Linux" "Library functions"
+.SH NAME
+strtod, strtof, strtold \- convert ASCII string to floating point number
+.SH SYNOPSIS
+.B #include <stdlib.h>
+.sp
+.BI "double strtod(const char *" nptr ", char **" endptr );
+.br
+.BI "float strtof(const char *" nptr ", char **" endptr );
+.br
+.BI "long double strtold(const char *" nptr ", char **" endptr );
+.SH DESCRIPTION
+The
+.BR strtod ,
+.BR strtof ,
+and
+.B strtold
+functions convert the initial portion of the string pointed to by
+.I nptr
+to
+.BR double ,
+.BR float ,
+and
+.B long double
+representation, respectively.
+
+The expected form of the (initial portion of the) string is
+optional leading white space as recognized by \fIis\%space\fP(3),
+an optional plus (``+'') or minus sign (``-'') and then either
+(i) a decimal number, or (ii) a hexadecimal number,
+or (iii) an infinity, or (iv) a NAN (not-a-number).
+.LP
+A
+.I "decimal number"
+consists of a nonempty sequence of decimal digits
+possibly containing a radix character (decimal point, locale dependent,
+usually ``.''), optionally followed by a decimal exponent. A
+decimal exponent consists of an ``E'' or ``e'', followed by an
+optional plus or minus sign, followed by a non-empty sequence of
+decimal digits, and indicates multiplication by a power of 10.
+.LP
+A
+.I "hexadecimal number"
+consists of a ``0x'' or ``0X'' followed by a nonempty sequence of
+hexadecimal digits possibly containing a radix character,
+optionally followed by a binary exponent. A binary exponent
+consists of a ``P'' or ``p'', followed by an optional
+plus or minus sign, followed by a non-empty sequence of
+decimal digits, and indicates multiplication by a power of 2.
+At least one of radix character and binary exponent must be present.
+.LP
+An
+.I infinity
+is either ``INF'' or ``INFINITY'', disregarding case.
+.LP
+A
+.I NAN
+is ``NAN'' (disregarding case) optionally followed by `(',
+a sequence of characters, followed by ')'.
+The character string specifies in an implementation-dependent
+way the type of NAN.
+
+.SH "RETURN VALUE"
+These functions return the converted value, if any.
+
+If
+.I endptr
+is not
+.BR NULL ,
+a pointer to the character after the last character used in the conversion
+is stored in the location referenced by
+.IR endptr .
+
+If no conversion is performed, zero is returned and the value of
+.I nptr
+is stored in the location referenced by
+.IR endptr .
+
+If the correct value would cause overflow, plus or minus
+.B HUGE_VAL
+.RB ( HUGE_VALF ,
+.BR HUGE_VALL )
+is returned (according to the sign of the value), and
+.B ERANGE
+is stored in
+.IR errno .
+If the correct value would cause underflow, zero is
+returned and
+.B ERANGE
+is stored in
+.IR errno .
+.SH ERRORS
+.TP
+.B ERANGE
+Overflow or underflow occurred.
+.SH "CONFORMING TO"
+ANSI C describes
+.BR strtod ,
+C99
+describes the other two functions.
+.SH "SEE ALSO"
+.BR atof (3),
+.BR atoi (3),
+.BR atol (3),
+.BR strtol (3),
+.BR strtoul (3)