gcvt - Linux


gcvt converts a double-precision floating-point number into a null-terminated string. This command is useful for converting numbers to strings for output or storage purposes.


gcvt(number, ndigit, buf)


  • number: The double-precision floating-point number to convert.
  • ndigit: The maximum number of digits to use in the conversion.
  • buf: A buffer to store the converted string.


gcvt does not support any options or flags.


Simple Example:

Convert the number 3.1415926535 to a string and store it in the result buffer:

#include <stdio.h>
#include <stdlib.h>

int main() {
    const double number = 3.1415926535;
    char result[100];

    gcvt(number, 8, result);

    printf("%s\n", result); // Output: "3.1415927"

Complex Example:

Convert the number 123456789.123456789 to a string with 15 digits:

#include <stdio.h>
#include <stdlib.h>

int main() {
    const double number = 123456789.123456789;
    char result[100];

    gcvt(number, 15, result);

    printf("%s\n", result); // Output: "123456789.12346"

Common Issues

  • Buffer size: Ensure that the provided buffer is large enough to hold the converted string.
  • Number range: gcvt can convert numbers within the range of approximately 10^-308 to 10^308.


gcvt can be integrated with other commands for various tasks:

  • Formatting output: Use gcvt to convert numeric values to strings for display or storage in files.
  • Data manipulation: Combine gcvt with sscanf or strtod to convert between strings and numbers.
  • Error handling: Check the return value of gcvt to detect potential errors during conversion.

Related Commands

  • printf
  • sscanf
  • strtod