std::atof(3)
π NAME
Hey bestie! Welcome to std::atof(3) from the C++ Standard Libary πβ¨
std::atof β std::atof (the name is literally the name, periodt).
β¨ Synopsis
Defined in header <cstdlib>
double atof( const char* str );
So std::atof interprets a floating point value in a byte string pointed to by str π«Ά
It discards any whitespace characters (as determined by std::isspace) until the first non-whitespace character is found. Then it takes as many characters 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, bestie:
- decimal floating-point expression β it consists of these parts:
- (optional) plus or minus sign
- nonempty sequence of decimal digits optionally containing decimal-point character (as determined by the current C locale) (defines significand)
- (optional)
eorEfollowed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent to base 10)
- hexadecimal floating-point expression β it consists of these parts:
- (optional) plus or minus sign
0xor0X- nonempty sequence of hexadecimal digits optionally containing a decimal-point character (as determined by the current C locale) (defines significand)
- (optional)
porPfollowed 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 these parts:
- (optional) plus or minus sign
INForINFINITYignoring case
- not-a-number expression β it consists of these parts:
- (optional) plus or minus sign
NANorNAN(char_sequence)ignoring case of theNANpart.char_sequencecan 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 installed C locale
π Parameters
strβ pointer to the null-terminated byte string to be interpreted.
π« Return value
A 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 undefined π¨. If no conversion can be performed, 0.0 is returned.
π§ Example
// Run this code β yes bestie, run it, no cap:
// 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 (function). Each one is marked(C++11).strtof,strtod,strtoldβ converts a byte string to a floating-point value (function).from_charsβ converts a character sequence to an integer or floating-point value (function)(C++17).atoi,atol,atollβ converts a byte string to an integer value (function);atollis marked(C++11).- C documentation for
atof.
okay thatβs the whole page, bestie β source/version: http://cppreference.com, dated 2024.06.10 π
π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms