diff options
Diffstat (limited to 'man3/strtod.3')
-rw-r--r-- | man3/strtod.3 | 148 |
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) |