Club Delphi  
    Paypal   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 11-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola impadrón.

Para obtener 'n' números decimales:
Código:
...
#include <math.h>
...
double NumNDec(double Num, int Dec)
{
 return ((float)(int)(Num*exp(log(10)*Dec))/exp(log(10)*Dec));
}
Uso:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double pi= 3.141592654;
   for(int i=1; i< 5; i++)
     ListBox1->Items->Add(FloatToStr(NumNDec(pi,i)));
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-08-2011 a las 16:57:30.
Responder Con Cita
  #2  
Antiguo 11-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Impadrón.

No había visto tu último mensaje mientras ponía el anterior.

Para redondear:
Código:
...
#include <math.h>
...
double Round(double Num, int Dec)
{
  return ((float)((int)(Num*pow(10,Dec)+0.5)))/pow(10,Dec);
}
Uso:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double pi= 3.141592654;
   for(int i=1;i< 5; i++)
     ListBox1->Items->Add(FloatToStr(Round(pi,i)));
}
Saludos.

Edito: En el ejemplo de número de dígitos me había olvidado de pow... , así que hice unos malabares...

Usando pow la función sería:
Código:
 double NumNDec(double Num, int Dec)
{
 return ((float)(int)(Num*pow(10,Dec))/pow(10,Dec));
}
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-08-2011 a las 18:13:03.
Responder Con Cita
  #3  
Antiguo 11-08-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
muchas gracias
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #4  
Antiguo 12-08-2011
jcosta jcosta is offline
Registrado
 
Registrado: feb 2008
Posts: 9
Poder: 0
jcosta Va por buen camino
Yo utilizo la función FormatFloat. Sería algo así:

cadena = FormatFloat("0,.000", numero)

numero sería el valor decimal original y en cadena nos quedaria un string con separador de miles (,) , en este caso con tres decimales (número de ceros a la derecha del .). Si se quiere luego se puede volver a convertir de String a float con StrToFloat.

Un saludo
Responder Con Cita
  #5  
Antiguo 12-08-2011
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 18
lmpadron Va por buen camino
voy a probarlo !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cantidad de decimales en campo float look SQL 5 04-10-2010 18:53:54
mostrar en una grilla float con 4 decimales Patricio Varios 2 12-11-2008 14:27:49
manejo de decimales de un Float BC++ C++ Builder 3 12-08-2008 17:51:58
reducir decimales de float el_barto Varios 4 22-09-2005 21:27:09
Decimales con más de 4 lugares después del punto...? Blazer2104 Conexión con bases de datos 2 10-11-2004 15:15:22


La franja horaria es GMT +2. Ahora son las 06:13:35.


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