gcvt() | Convert float value to string in C
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
Contact Us