Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-12-2004
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Redondear en Builder c++

Tengo un float, y quiero que se quede en 2 decimales. He visto muchos codigos hechos para delphi, pero todos usan la funcion round, o trunc, pero yo no la tengo en mi builder c++ 3. Alguien puede ayudarme...

Gracias,

Antonio
Responder Con Cita
  #2  
Antiguo 03-01-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Usa las funciones

modf(x, &y); // parte entera y fraccionaria del numero
y
pow10(x); // elevas la potencia al numero.

Yo lo hago asin, aunque hay muchas mas formas.


/********************************************************
* METODO: redondeoDec() *
* *
* Redondea un n£mero fraccionario. *
*********************************************************/
double redondeoDec(double numero, int dec)
{
double entera, fraccionaria, fraccion;

fraccionaria = modf(numero, &entera);

fraccion = redondeo (fraccionaria * pow10(dec));
return(entera+(fraccion/pow10(dec)));
} /* End redondeo() ***
**************************/
Responder Con Cita
  #3  
Antiguo 04-01-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Thumbs up muchas gracias...

Algo de eso estaba pensando hacer, pero tu codigo me ha ahorrado mucho tiempo de pensar . 2 cosas que me gustaria comentarte a ver si tu sabes algo. Para redondear uso la funcion Ceil...supongo k no habra ningun problema con ella no?, y lo 2º es pq al usar el float, no funciona eso de quedarte solo con 2 decimales, solo con double?

Gracias,

Antonio
Responder Con Cita
  #4  
Antiguo 04-01-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Cita:
Empezado por alt126
el float, no funciona eso de quedarte solo con 2 decimales, solo con double?
Es indiferente, al pasar los valores, puedes hacer un cast, pero no es necesario,

lo unico
fraccionaria = modf(numero, &entera);
fraccionaria = modl(numero, &entera);

Pero insisto que no es necesario.


Lo de Ceil, te puede servir, como dije antes, casi cada programador se ha creado su propia funcion para redondear, yo uso esta que es la misma que usaba antes que existiese builder como tal, y no me he preocupado en cambiarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:55:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi