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

FreeBSD Manual Pages

  
 
  

home | help
std::atof(3)		      C++ Standard Libary		  std::atof(3)

NAME
       std::atof - std::atof

Synopsis
	  Defined in header <cstdlib>
	  double atof( const char *str );

	  Interprets  a	 floating  point  value	in a byte string pointed to by
       str.

	  Function  discards  any  whitespace  characters  (as	determined  by
       std::isspace()) until
	  first	non-whitespace character is found. Then	it takes as many char-
       acters as
	  possible  to form a valid floating-point representation and converts
       them to a
	  floating-point value.	The valid floating-point value can be  one  of
       the following:

	    *  decimal floating-point expression. It consists of the following
       parts:

		     * (optional) plus or minus	sign
		     * nonempty	sequence of decimal digits optionally contain-
       ing decimal-point
		       character (as determined	by the current C locale)  (de-
       fines significand)
		     *	(optional) e or	E followed with	optional minus or plus
       sign and
		       nonempty	sequence of decimal digits  (defines  exponent
       to base 10)

	    * hexadecimal floating-point expression. It	consists of the
	      following	parts:

		* (optional) plus or minus sign
		* 0x or	0X
		*  nonempty sequence of	hexadecimal digits optionally contain-
       ing
		  a decimal-point character (as	determined by the current C
		  locale) (defines significand)
		* (optional) p or P followed with optional minus or plus sign
		  and nonempty sequence	of decimal digits (defines exponent to
		  base 2)
										 (since
       C++11)
	    * infinity expression. It consists of the following	parts:

		* (optional) plus or minus sign
		* INF or INFINITY ignoring case

	    * not-a-number expression. It consists of the following parts:

		* (optional) plus or minus sign
		* NAN or NAN(char_sequence) ignoring case of the NAN part.
		  char_sequence	can only contain digits, Latin letters,	and
		  underscores. The result is a quiet NaN floating-point	value.

	    * any other	expression that	may be accepted	by the	currently  in-
       stalled C locale

Parameters
	  str -	pointer	to the null-terminated byte string to be interpreted

Return value
	  double value corresponding to	the contents of	str on success.	If the
       converted value
	  falls	 out  of  range	 of the	return type, the return	value is unde-
       fined. If no
	  conversion can be performed, 0.0 is returned.

Example
       // Run this code

	#include <cstdlib>
	#include <iostream>

	int main()
	{
	    std::cout << std::atof("0.0000000123") << '\n'
		      << std::atof("0.012")	   << '\n'
		      << std::atof("15e16")	   << '\n'
		      << std::atof("-0x1afp-2")	   << '\n'
		      << std::atof("inF")	   << '\n'
		      << std::atof("Nan")	   << '\n'
		      << std::atof("invalid")	   << '\n';
	}

Output:
	1.23e-08
	0.012
	1.5e+17
	-107.75
	inf
	nan
	0

See also
	  stof
	  stod
	  stold	     converts a	string to a floating point value
	  (C++11)    (function)
	  (C++11)
	  (C++11)
	  strtof     converts a	byte string to a floating point	value
	  strtod     (function)
	  strtold
	  from_chars converts a	character sequence to an integer or  floating-
       point value
	  (C++17)    (function)
	  atoi
	  atol	     converts a	byte string to an integer value
	  atoll	     (function)
	  (C++11)

http://cppreference.com		  2022.07.31			  std::atof(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::atof&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help