Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
STRTOD(3)		       Library functions		     STRTOD(3)

NAME
       strtod, strtof, strtold - convert ASCII string to floating point	number

SYNOPSIS
       #include	<stdlib.h>

       double strtod(const char	*nptr, char **endptr);
       float strtof(const char *nptr, char **endptr);
       long double strtold(const char *nptr, char **endptr);

DESCRIPTION
       The strtod, strtof, and strtold functions convert the  initial  portion
       of the string pointed to	by nptr	to double, float, and long double rep-
       resentation, respectively.

       The expected form of the	(initial portion of the)  string  is  optional
       leading	white  space  as  recognized  by  isspace(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).

       A decimal number	consists of a nonempty sequence	of decimal digits pos-
       sibly  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.

       A  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.

       An infinity is either ``INF'' or	``INFINITY'', disregarding case.

       A  NAN  is  ``NAN''  (disregarding  case) optionally followed by	`(', a
       sequence	of characters, followed	by ')'.	 The character	string	speci-
       fies in an implementation-dependent way the type	of NAN.

RETURN VALUE
       These functions return the converted value, if any.

       If  endptr is not NULL, a pointer to the	character after	the last char-
       acter used in the conversion is stored in the  location	referenced  by
       endptr.

       If  no  conversion is performed,	zero is	returned and the value of nptr
       is stored in the	location referenced by endptr.

       If the correct value would  cause  overflow,  plus  or  minus  HUGE_VAL
       (HUGE_VALF,  HUGE_VALL)	is  returned  (according  to  the  sign	of the
       value), and ERANGE is stored in errno.	If  the	 correct  value	 would
       cause underflow,	zero is	returned and ERANGE is stored in errno.

ERRORS
       ERANGE Overflow or underflow occurred.

CONFORMING TO
       ANSI C describes	strtod,	C99 describes the other	two functions.

SEE ALSO
       atof(3),	atoi(3), atol(3), strtol(3), strtoul(3)

Linux				  2001-06-07			     STRTOD(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=strtod&sektion=3&manpath=Red+Hat+Linux%2fi386+9>

home | help