Programación General > C/C++
Re: variables tipo float
Shoan:
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
Angelus:
imprimelo asi : printf("%.Af",var_float);
donde:
A: la cantidad de cifras despues del punto
Ismael:
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
bench:
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
wimogan:
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!.
Navegación
[#] Página Siguiente
Ir a la versión completa