Skip to content
Related Articles
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 :

```Input : 123.4567
Output :123.457

Input : 12345.6789
Output : 12345.7
```
 `// C program to convert float``// value in string using gcvt()``#include ``#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 ``// called function``void` `divide(``float` `x, ``float` `y)``{``    ``char` `buffer;``    ``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
```
Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.

My Personal Notes arrow_drop_up