fcvt() en C/C++ con ejemplos

Esta función fcvt() convierte el valor de coma flotante en una string ASCII terminada en NULL y le devuelve un puntero. Se define en la función de biblioteca definida en el archivo de encabezado stdlib.h .

Sintaxis:

char * fcvt (doble valor, int num, int * dec, int * signo);

Parámetros:

1. valor doble : es el valor de coma flotante que se convertirá en una string.
2. int num: Es un número de dígitos que devolverá la función. Si es mayor que el número de dígitos en valor, el resto de la string se rellena con ceros y si es menor, se redondea el dígito de orden inferior.
3. int * dec: Es un puntero de número entero, que almacena la posición del punto decimal con respecto al comienzo de la string. Si es cero o menor que cero, indica que el punto decimal se encuentra a la izquierda de los dígitos
4. int * signo: Es un puntero entero, que recibe el indicador de signo como 0 significa signo positivo y distinto de cero significa negativo.

La función devuelve una string de caracteres terminada en nulo con la misma longitud especificada como num que contiene los dígitos del número doble que pasa como parámetro.

A continuación se muestran los programas en C para ilustrar el uso de la función fcvt():

Ejemplo 1:

C

// C program to illustrate the
// use of fcvt() function
#include <stdio.h>
#include <stdlib.h>
  
// Function to illustrate the
// use of fcvt() function
void useOfFcvt()
{
    double x = 123.4567;
    char* buf;
    int dec, sign;
  
    // Function Call
    buf = fcvt(x, 6, &dec, &sign);
  
    // Print the converted string
    printf("The converted string "
           "value is: %c%c.%sX10^%d\n",
           sign == 0 ? '+' : '-',
           '0', buf, dec);
}
  
// Driver Code
int main()
{
    // Function Call
    useOfFcvt();
    return 0;
}
Producción:

El valor de la string convertida es: +0.123456700X10^3

Explicación: 
En el programa C anterior, el valor doble (flotante), es decir, 123,4567, se convierte en el valor de string (+ 0,123457X103) mediante la función fcvt().

Ejemplo 2:

C++

// C program to implement
// FCVT() function
#include <stdio.h>
#include <stdlib.h>
  
// Driver code
int main(void)
{
    char* string;
    double value;
    int Dec, sign;
    int ndig = 10;
    value = -9.876;
    string = fcvt(value, ndig,
                  &Dec, &sign);
    printf("The converted string"
           " value is: %s Dec "
           "is: %d sign is: %d\n",
           string, Dec, sign);
    return 0;
}
Producción:

El valor de la string convertida es: 98760000000 Dec es: 1 el signo es: 1

Publicación traducida automáticamente

Artículo escrito por CoderSaty 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 *