Open In App

gcvt() | Convert float value to string in C

Improve
Improve
Like Article
Like
Save
Share
Report

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


Last Updated : 22 Dec, 2017
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads