Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

gcvt() | Convert float value to string in C

  • Difficulty Level : Expert
  • Last Updated : 22 Dec, 2017

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 :

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
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;


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;



My Personal Notes arrow_drop_up
Recommended Articles
Page :