Hola, buenas noches, alguien sabría de alguna funcion especifica para el redondeo de valores decimales en c++ ?!
Busqué pero no me funcionaron.
Gracias desde ya y si me pueden compartir un ejemplo mejor :)
Recibe ayuda de expertos
Es gratis y fácil
Respuestas, votos y comentarios
Recibe puntos, vota y da la solución
Hola, buenas noches, alguien sabría de alguna funcion especifica para el redondeo de valores decimales en c++ ?!
Busqué pero no me funcionaron.
Gracias desde ya y si me pueden compartir un ejemplo mejor :)
Según esta respuesta en SO:
Puedes hacerlo con esto "%.2f"
por ejemplo:
printf("%.2f", 37.777779);
O bien hacerlo por medio de cálculos:
Ejemplo:
#include <math.h>
float val = 37.777779;
float rounded_down = floorf(val * 100) / 100; /* Resultado: 37.77 */
float nearest = roundf(val * 100) / 100; /* Resultado: 37.78 */
O bien si quieres conservar el número como es pero mostrarlo como un decimal:
#include <iomanip>
cout << fixed << setprecision(1) << 9.09090901 << endl;
Aquí otro pequeño ejemplo de setprecision:
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
double num = 12.456789;
cout << num << '\n'; //imprime 12.4568
cout << fixed << num << '\n'; //imprime 12.456789
cout << setprecision(3) << fixed << num << '\n'; //imprime 12.457
return 0;
}