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

FreeBSD Manual Pages

  
 
  

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+9>

home | help