In this source code example, we will see how to use the atof() function in C programming with an example.
atof() Function Overview
The atof() function in C is used to convert a string into a floating-point number (double). It's part of the <stdlib.h> library. If the initial portion of the string can't be converted to a double value, it returns 0.0.
Source Code Example
#include <stdio.h> #include <stdlib.h> int main() { // Valid floating-point number as a string char floatStr1[] = "123.456"; double float1 = atof(floatStr1); printf("%s to double: %f\n", floatStr1, float1); // String starts with a valid number but has characters afterward char floatStr2[] = "789.101xyz"; double float2 = atof(floatStr2); printf("%s to double: %f\n", floatStr2, float2); // String without a valid number at the beginning char floatStr3[] = "abc12.34"; double float3 = atof(floatStr3); printf("%s to double: %f\n", floatStr3, float3); // Spaces before the number char floatStr4[] = " -56.789"; double float4 = atof(floatStr4); printf("'%s' to double: %f\n", floatStr4, float4); return 0; }
Output
123.456 to double: 123.456000 789.101xyz to double: 789.101000 abc12.34 to double: 0.000000 ' -56.789' to double: -56.789000
Explanation
1. floatStr1 holds a clear floating-point number. atof() converts it to its double representation.
2. For floatStr2, the function starts converting until it encounters a non-numeric character.
3. floatStr3 doesn't start with a number, so atof() gives 0.0.
4. floatStr4 begins with spaces; atof() skips these and then converts the following number.
Note: If the string can't be changed into a floating-point number, atof() will return 0.0.
Comments
Post a Comment