Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Problemas con decimales

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Problemas con decimales Responder citando

En el programa que estoy haciendo tengo una base de datos a la cual en un campo le asigno valores que van desde 0 hasta 18, pero tambien hay numeros con decimales como 8,5 que cuando trato de cogerlos y usarlos en otro Form con StrToFloat solo me toma la parte entera.

Como hago para que me tome todo el numero??

Gracias,

Mario
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

//A ver si esto te ayuda Wink

double valor = NombreTablaNombreCampo->Text.ToDouble();
ShowMessage(valor);
Volver arriba
Mensaje    Asunto: Gracias!! Responder citando

Gracias me funcionó tal y como quería.
Pero me surge un inconveniente cuando trato de tomar ese valor en otro from utilizo

extern valor
Label1->Caption=valor

y me sale otro valor totalmente diferente. Pero si lo hago en la misma form si me sale el numero como es.
Que debo hacer??
Mario
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

A primera vista una de las opciones que se me ocurre es lo siguiente:

En un principio accedemos al valor de la base de datos de la siguiente forma:

double valor = NombreTablaNombreCampo->Text.ToDouble();
ShowMessage(valor);

Pues bien, si te interesa tener ese valor también en el segundo formulario ¿porqué no accedes a él con el mismo código anterior?.

Tu intentas coger un valor de una variable glabal del Formulario principal desde un Formulario secundario, el valor de esa variable se ha obtenido de la base de datos. No es que no se pueda hacer pero veo más lógico utilizar el mismo código anterior desde el Formulario secundario para obtener el valor de la base de datos ya que es el mismo que se halla en la varible global. Todo esto siempre y cuando te haya entendido bien, si no, corrígeme y daré más vueltas a mi coco para ayudarte.
Saludos.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: El problema real!! Responder citando

El problema realmente radica en esto:
Yo tengo tres Forms, en el primero tengo un Edit y un boton, en el segundo tengo otro Edit y otro boton y en el tercero tengo 2 labels.
Lo que yo quiero es si yo habro el Form1 digitar un numero en el edit y que me aparezca el Form3 con el Label1 con lo del Edit, y si habro el Form2 digitar un numero en el edit y que me aparezca el Form3 con el Label2 con lo del Edit del Form2. yo tengo los siguientes codigos

TForm1 *Form1;
double valor;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
valor=Form1->Edit1->Text.ToDouble();
Form3->Show();
}
//---------------------------------------------------------------------------

TForm2 *Form2;
double valor1;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)
{
valor1=Form2->Edit1->Text.ToDouble();
Form3->Show();
}
//---------------------------------------------------------------------------

TForm3 *Form3;
extern valor, valor1;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormActivate(TObject *Sender)
{
Label1->Caption=valor;
Label2->Caption=valor1;
}
//---------------------------------------------------------------------------

Con estos codigos en el form3 no me sale el numero que entro ya sea en el form1 o en el form2. Si hago lo que tu me dices de colocar
double valor=Form1->Edit1->Text.ToDouble()
double valor1=Form2->Edit1->Text.ToDouble() en el Form3 cuando hago click ya sea en el form1 o en el form2 me sale un error de no floting number, ya que solo estoy metiendo uno de los dos numeros, por eso debo hacerlo en cada Form y tomarlo en el 3
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Re: El problema real!! Responder citando

No se preocupen mas, para algo esta este foro, buscando encontre la solucion, hay que colocar extern double valor y se soluciona el problema te toma el valor en el form3

Gracias, de todos modos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.