Programación General > C/C++

 ¿Como mostrar decimales en C?

(1/2) > >>

Saitchev:
Hola, tengo una duda, necesito saber como se puede hacer para elegir cuantos decimales mostrar de un float en un printf, quiero decir, se pide por teclado un numero real, y luego otro entero que definirá el numero de decimales a mostrar del real.
Ejemplo, se introducen el 5.78695 y el 3, el programa debe mostrar 5.786 (solo 3 decimales)

Gracias!

shakka:

--- Código: C ---float a = 235.36558;     printf("%.2fn", a); 
Precediendole de un . y luego, la cantidad de decimales a mostrar
http://www.cplusplus.com/reference/clib ... io/printf/

Saitchev:
Quizá me has malentendido, no es que quiera mostrar 2 decimales siempre, sino que quiero mostrar N decimales, donde N es un entero que el usuario va a introducir por teclado cada vez que inicie ya el programa, es decir, que una vez puede introducir 3, y mostrará 3 (N) decimales, luego introducirá 5 por ejemplo, y mostrará (N) 5 decimales...

ProfesorX:
Puedes usar sprintf para generar tu cadena formateada, y luego la imprimes con printf de la siguiente manera:


--- Código: C++ --- #include <stdio.h>#include <stdlib.h> int decimales;float numero;char cadena_formateada[256]; int main(){    printf("Numero a leer: ");    scanf("%f", &numero);        printf("Cuantos decimales: ");    scanf("%d", &decimales);    sprintf(cadena_formateada, "%%.%dfn", decimales);        printf(cadena_formateada, numero);     system("pause");    return 0;}  
Saludos :)

Saitchev:
Muchas gracias profesor, nunca había oido hablar del "sprintf" en C, quizá por eso le di tantas vueltas y no habia manera de sacarlo.
Supongo que el "sprintf" se usa cuando se quiere imprimir una cadena de caracteres, es asi?
Un saludo.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa