Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Question Porcentaje de un Numero en un Tedit

Hola buenos dias, mi duda es la siguiente o mas bien mi pregunta;

Tengo un Tedit donde se mostrara un numero (Ej: 3) yo quiero sacarle a ese numero un porcentaje cualquiera... Por ejemplo, quiero saber cuanto es el 15% de ese numero...

¿Tienen alguna idea de como plantearlo? Agradeceria su ayuda...
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #2  
Antiguo 05-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
dejame ver si entendi...
tienes un edit con un numero X y a ese numero X quieres sacarle un porcentaje Y que colocaras en otro edit me imagino

no tengo delphi a la mano en este momento
seria algo asi...


Código Delphi [-]
 
lblPorcentaje.Caption := StrtoInt(edtNumerox.text) * strtoint(edtPorcentajeY.Text) / 100
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 05-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Ok planteare el problema completo...

Tengo 4 radiobutton y 1 te edit... en el TEDIT me mostrara el numero que seleccione en los radiobutton que van del 1 al 4...

Supongamos que mi seleccion sea el radiobutton 3, me colocara el 3 en el TEDIT

Código Delphi [-]
edit1.Text:=IntToStr(AdvOfficeRadioGroup1.ItemIndex + 1);

A ese TEDIT yo quiero sacarle el porcentaje "X" supongamos que el porcentaje que quiero sacarle a ese especificamente es el 15%

Matematicamente seria algo asi: 3*15/100 = 0.45
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #4  
Antiguo 05-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y el porcentaje? donde lo tienes? o lo asignas directamente
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 05-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
El porcentaje sera un valor fijo para siempre, mi idea era asignárselo en el mismo código... ¿que recomiendas?
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #6  
Antiguo 05-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
yo te recomendaria que el porcentaje no sea fijo (lo unico fijo que existe en la vida es la muerte)

y podrias hacerlo asi como te dije, colocar el porcentaje en otro edit

Código Delphi [-]
 
lblPorcentaje.Caption := inttostr(StrtoInt(edtNumerox.text) * strtoint(edtPorcentajeY.Text) / 100)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 05-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Código Delphi [-]
label1.Caption := inttostr(StrtoInt(edit1.text) * strtoint(edit5.Text) / 100)

Me salta este error:
"[DCC Error] Unit1.pas(50): E2250 There is no overloaded version of 'IntToStr' that can be called with these arguments"

Lo del porcentaje es un porcentaje fijo para cada item...por eso digo que sera asi, igual tomare tu sugerencia.

Si le quito el InttoStr me salta este error:

[DCC Error] Unit1.pas(50): E2010 Incompatible types: 'string' and 'Extended'
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #8  
Antiguo 05-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Código Delphi [-]
  Label1.Caption := FloatToStr(StrToFloat(Edit1.text) * StrToFloat(Edit5.Text) / 100);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 05-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.


Código Delphi [-]
Label1.Caption := FloatToStr(StrToFloat(Edit1.text) * StrToFloat(Edit5.Text) / 100);





Saludos.
por eso dije... algo parecido...
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #10  
Antiguo 05-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
var v1,v2,v3 : Real;
begin
v1:= StrToFloat(Edit1.Text);
v2:= StrToFloat(Edit5.Text);
v3:= 100;
Label1.Caption := FloatToStr(v1 * v2 / v3);
end;
Saludos
PD: Vaciaciones sobre el mismo tema.
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 05-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 oscarac.
Cita:
por eso dije... algo parecido...
Si por supuesto, al menos a mí, me quedó bién claro que era un ejemplo orientativo . ("no tengo delphi a la mano... seria algo asi:")

Pero como lo aplicó textualmente, le indiqué el por que le estaba dando error.

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 05-05-2011 a las 21:05:37.
Responder Con Cita
  #12  
Antiguo 05-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Gracias por sus respuestas, me quedo asi:

Código Delphi [-]
procedure TForm1.AdvOfficeRadioGroup2Click(Sender: TObject);
begin
edit2.Text:=IntToStr(AdvOfficeRadioGroup2.ItemIndex + 1);
edit7.Text := FloatToStr(StrToFloat(Edit2.text) * 15 / 100);
end;

Colocando el Procentaje Fijo para probar...lo probe del otro modo que me sugirio Oscarac y tambien funciono, ahora quiero sumar esos t edit y mostrar el resultado en uno EDTTOTAL:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
edit4.Text:= Inttostr(StrToInt(edit3.Text) +  StrToInt(edit7.Text)  +  StrToInt(edit8.Text));
end;

Pero me arroja este error:

Cita:
First chance exception at $7C812AEB. Exception class EConvertError with message '''1,2'' is not a valid integer value'. Process Project1.exe (648)
Seria bueno una breve explicación de lo que estoy haciendo mal, para aprender..un saludo y gracias por sus respuestas!
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #13  
Antiguo 05-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
1,2 es un numero que tiene decimales, en este caso, un decimal el numero 2.
Por eso la operacion que hiciste da error, usas integer que no contiene decimales, tienes que usar float que si los permite, asi:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
edit4.Text:= Floattostr(StrToFloat(edit3.Text) +  StrToFloat(edit7.Text)  +  StrToFloat(edit8.Text));
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #14  
Antiguo 10-05-2011
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 14
ZiriusB Va por buen camino
Question

Gracias, mil gracias por responder y aclarar mis dudas he estado trabajando en eso y he aprendido...

Una vez que tengo el numero en dicho TEDIT ( tengo 13 TEDIT) he intentado con el COMPONENT COUNT mostrar el resultado de la suma de esos TEDIT y dividirlos entre el numero de TEDIT (13)

Código Delphi [-]
var
  c, i, j, f: integer;
  r: Double;
......
  
r:= 0;
c:= 0;
  for i:= 0 to ComponentCount -1 do
   if (Components[i] is Tedit) and
      (Tedit(Components[i]).text > -1) then
   begin
     r:= r + StrToFloat(Tedit(Components[i]).text [Tedit(Components[i]).text]);
     Inc(c);
   end;
    if c > 0 then
    npromedio.Text:=(FormatFloat('#,##0.##', r/c));

Eso lo coloco dentro de cada TEDIT evento ONCHANGE, use como base un ejemplo que me dieron hace tiempo para un COMBOBOX...
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."

Última edición por ZiriusB fecha: 10-05-2011 a las 20:03:52.
Responder Con Cita
Respuesta



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
calculo del iva en porcentaje? jirbert Varios 13 15-04-2008 07:23:08
calculo de porcentaje valiant_crps SQL 10 07-04-2008 08:16:52
Porcentaje de uso del CPU OSKR C++ Builder 2 13-07-2006 01:23:53
Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera atirado Varios 4 11-09-2004 19:13:48
Porcentaje en un ProgressBar silviodp OOP 1 15-04-2004 06:41:41


La franja horaria es GMT +2. Ahora son las 03:20:11.


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