Formatiar numero en c++

jose mario
06 de Mayo del 2008
hola saludos a todos, me ayudan, como puedo formatiar y redonder numero en c++ por ejemplo
si un numero de da:
x=12.2510

quiero imprimir
12.25

y si me da
X=12.98

imprimir
x=13
algo como number_format en php

gracias por su ayuda.

Noel Solw
06 de Mayo del 2008
#include <iostream.h>
#include <iomanip.h>
#include <math.h>

int main()
{
float x = 312.659234;
cout << x << endl;
// setprecision tiene un problema : fija el numero de digitos a imprimir
// y eso causa que el numero de digitos despues del punto decimal varia
// segun la longitud de la parte entera, que es igual a log10(x) + 1,
// sumamos 2 mas para la parte decimal.
cout << setprecision(log10(x) + 3) << x << endl;
cout << setprecision(log10(x) + 1) << x << endl;
cout << endl << "end of program - good bye ! ! ! " << endl;
return 0;
} // MAIN