Converting float to char*

boom picture boom · Jun 7, 2010 · Viewed 171k times · Source

How can I convert a float value to char* in C language?

Answer

Delan Azabani picture Delan Azabani · Jun 7, 2010
char buffer[64];
int ret = snprintf(buffer, sizeof buffer, "%f", myFloat);

if (ret < 0) {
    return EXIT_FAILURE;
}
if (ret >= sizeof buffer) {
    /* Result was truncated - resize the buffer and retry.
}

That will store the string representation of myFloat in myCharPointer. Make sure that the string is large enough to hold it, though.

snprintf is a better option than sprintf as it guarantees it will never write past the size of the buffer you supply in argument 2.