Here, we shall see how a float number (floating point value) can be converted to the string in C language. It is a library function defined in stdio.h header file. This function is used to convert a floating point number to string.
Syntax :
gcvt (float value, int ndigits, char * buf); float value : It is the float or double value. int ndigits : It is number of digits. char * buf : It is character pointer, in this variable string converted value will be copied.
Examples :
Input : 123.4567 Output :123.457 Input : 12345.6789 Output : 12345.7
// C program to convert float // value in string using gcvt() #include <stdio.h> #define MAX 100 int main()
{ float x = 123.4567;
char buf[MAX];
gcvt(x, 6, buf);
printf ( "buffer is: %s\n" , buf);
return 0;
} |
Output:
buffer is: 123.457
Application: Following Program showing difference in output when division result are stored in
float type(result has precision upto six decimal places) in comparison to when stored directly in string type.
// C program to illustrate // application of gcvt() #include <stdio.h> // called function void divide( float x, float y)
{ char buffer[20];
float z;
z = x / y;
// printing normal division result
printf ( "%f" , z);
gcvt(x / y, 10, buffer);
// printing division result as stored directly in string
printf ( "\n%s\n" , buffer);
} int main()
{ // taking input
float x = 2.0f, y = 3.0f;
// calling function for division
divide(x, y);
return 0;
} |
Output:
0.666667 0.6666666865
Article Tags :