entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Redondear un numero en c++

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 :)

1 Respuesta

2votos

x4mp73r Puntos13390

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;
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta