SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Shoan en Sábado 19 de Octubre de 2002, 19:17
-
Kuando imprimo una variable tipo float en pantalla esta me sale con un monton de ceros despues del punto (ej:5.50000) como lo puedo hacer para ke no me salgan estos 0?
gracias
-
imprimelo asi : printf("%.Af",var_float);
donde:
A: la cantidad de cifras despues del punto
-
Ampliando el aporte anterior, pueds emplear el formato de impresión %g:
printf("%g",var_float);
Elimina los ceros innecesarios,en tu caso imprimiría 5.5
Saludos
-
Debes Tener Cuidado al usar variables de punto flotante, tanto tipo float como double, ya que la precisión y la presentación de la variable son dos cosas diferentes:
Puedes Presentar el valor de la variable con la cantidad de digitos que desees, pero las operaciones que realizes con ellas seguiran utilizando el total de dígitos de precision que corresponda al tipo de variable usado lo que genera errores de precision:
Por Ejemplo Si Sumas:
2.00493522 + 2.0051 sera igual a
4.01003522
Si Presentas una suma en pantalla con dos digitos te asparecera:
2.00 + 2.00 = 4.01.
Esto te hara Fallar cualquier algoritmo donde pretendas comparar u acumular el valor de las variables.
Por esto es recomendable redondearlas al numero de digitos de precision que vas a presentar en pantalla que es probablemente el que desees utilizar.
Saludos
Bench
-
Bueno, llevandote tambien de lo que dice Bench, lo puedes imprimir como:
1-) printf("%.2f",var_float); //Si solo quieres 2 cifras decimales despues de punto.
2-) printf("%.0f",var_float); //Si no deseas ninguna cifra decimal, con la salvedad de que si mandas a leer algun valor y lo digitas como por ejemplo: "19.8", eso te imprimiria un 20 en la salida.
3-) Cualquier otra presicion.
Ejemplo:
#include <stdio.h>
main ()
{
float a;
printf("Digite valor: ");
scanf("%f",&a);
printf("Digito %.0fn",a);
}
Suerte!.
-
weno hay varias formas de hacerlo aki t pongo dos formas de hacerlo
main()
{
float f;
printf("nIntroduzca el numero: ");
scanf("%f",&f);
printf("nnPrimera forma: %.2f t Segunda forma: %g",f,f);
getch();
}