atof | function |
double atof ( const char * str ); |
<cstdlib> |
Convert string to double
Parses the C string str interpreting its content as a floating point number and returns its value as a double.
The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting from this character, takes as many characters as possible that are valid following a syntax resembling that of floating point literals, and interprets them as a numerical value. The rest of the string after the last valid character is ignored and has no effect on the behavior of this function.
A valid floating point number for atof is formed by a succession of:
- An optional plus or minus sign
- A sequence of digits, optionally containing a decimal-point character
- An optional exponent part, which itself consists on an 'e' or 'E' character followed by an optional sign and a sequence of digits.
Parameters
- str
- C string beginning with the representation of a floating-point number.
Return Value
On success, the function returns the converted floating point number as a double value.If no valid conversion could be performed, or if the correct value would cause underflow, a zero value (0.0) is returned.
If the correct value is out of the range of representable values, a positive or negative HUGE_VAL is returned.
Example
/* atof example: sine calculator */ #include <stdio.h> #include <stdlib.h> #include <math.h> int main () { double n,m; double pi=3.1415926535; char szInput [256]; printf ( "Enter degrees: " ); gets ( szInput ); n = atof ( szInput ); m = sin (n*pi/180); printf ( "The sine of %f degrees is %f\n" , n, m ); return 0; } |
Output:
Enter degrees: 45 |
See also
strtod | Convert string to double (function) |
atoi | Convert string to integer (function) |
atol | Convert string to long integer (function) |