Programación General > C/C++

 Re: variables tipo float

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa