aproximar decimales float

titanae
30 de Marzo del 2008
hola!!!
resulta que necesito usar una variable float, y luego de hacer un calculo me quedan muchos decimales, y necesitaria que la variable solamente quedase con 2 decimales, pero no se como hacer...
alguien me explica por favor??
saludos y gracias por la ayuda

Alvaro Enrique
30 de Marzo del 2008
SIN ACUDIR, A NINGUNA FUNCION SE HACE ESTO:

#include<stdio.h>
#include<conio.h>
void main()
{float num =3.141692;
printf("%0.2f",num); // EL 2, REPRESENTA EL NUMERO DE
getch(); //DECIMALES QUE SE QUIEREN MOSTRAR
}

Pues yo
30 de Marzo del 2008
yo me hice una funcion para redondear pasando el número a cadena de caráctares, truncando y redondeando y devolviendolo a una variable double.

andres
30 de Marzo del 2008
soy nuevo en esto de c++, pero puede hacerse mediante un archivo de cabecera #include<manip.h>
donde se define una funcion set precision, aqui esta un ejemplo

#include <iostream>
#include<iomanip.h>
#include<conio.h>
using namespace std;

main ()
{
long double a;
cout << "introduzca un numero" << endl;
cin>>a;
cout << setiosflags(ios::fixed);
cout<<"el velor entero es "<<setprecision(2)<<a<<endl;
getch();

return 0;
}
el numero que esta entre parentesis en setprecision indica los decimales que se quieren obtener, en este caso dos, utilizo long double para que reconozca valores grandes, pero puede hacerse con double, float tambien.