gcvt() | Convertir valor flotante a string en C

Aquí, veremos cómo un número flotante (valor de punto flotante) se puede convertir en una string en lenguaje C. Es una función de biblioteca definida en el archivo de encabezado stdio.h. Esta función se utiliza para convertir un número de coma flotante en una string.
Sintaxis:

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.

Ejemplos:

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;
}

Producción:

buffer is: 123.457

Aplicación: Programa siguiente que muestra la diferencia en la salida cuando el resultado de la división se almacena en
tipo flotante (el resultado tiene una precisión de hasta seis decimales) en comparación con cuando se almacena directamente en tipo de string.

// 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;
}

Producción:

0.666667
0.6666666865

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *