cfloating-pointfloating-point-conversion

Converting float to char*


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


Solution

  • 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.