Foros del Web » Programación para mayores de 30 ;) » Programación General »

Cantidad de decimales

Estas en el tema de Cantidad de decimales en el foro de Programación General en Foros del Web. Hola; Soy nuevo en C++, estoy desarrollando aplicaciones de tipo matematicos. La pregunta es, como determinar la cantidad de decimales de un resultado, estaba utilizando ...
  #1 (permalink)  
Antiguo 06/06/2005, 16:32
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta Cantidad de decimales

Hola;

Soy nuevo en C++, estoy desarrollando aplicaciones de tipo matematicos.

La pregunta es, como determinar la cantidad de decimales de un resultado, estaba utilizando esto:

Código:
double NuevoValor(int a, double b)
{
    using namespace vari;
    resul = a*b;
    varA = 4.45759*100;	// aproximar a 2 decimales
    resul2 = static_cast<int>(varA);
    resul1 = (resul2)/100;
    cout << "\n\nNuevo valor = " << resul << "\n\n";
    cout << "Aproximado de 4.45759 = " << resul1 << "\n\n";
}
Si conocen una función u otra forma de realizarlo, las variable del namespace estan en un archivo.h.

Nos vemos.
  #2 (permalink)  
Antiguo 07/06/2005, 15:31
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
De acuerdo

Holas;

Encontre dos soluciones para el problema:

1- Enviado por Salvador Pozo:

Código:
#include <cmath>

using namespace std;

double redondeo(double a, int b)
{
      double v;
      v = a * pow(10.0,b);
      v = floor(v=0.5);
      v = v/pow(10.0,b);
      return v;
}
2- La mía:

Código:
double NuevoValor(int a, double b)
{
    using namespace vari;
    resul = a*b;
    varA = 4.45759*100;	// aproximar a 2 decimales
    resul3 = varA+0.5;
    resul2 = static_cast<int>(resul3);
    resul1 = (resul2)/100;
    cout << "\n\nNuevo valor = " << resul << "\n\n";
    cout << "Aproximado de 4.45759 = " << resul1 << "\n\n";
}
Nos vemos.
  #3 (permalink)  
Antiguo 07/06/2005, 15:36
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
No es redondeo, es truncamiento ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:23.