Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
formato porcentaje con DBGrid !!!!

hola a todos
una ayudita porfa
estoy tratando de gestionar una interfaz para una tabla que tiene un campo llamado COMISION en el cual el usuario ingresa el porcentaje Ejem.
comisión: 2 ingresa el numero 2 pero este internamente debe ser guardado como 0.02

Es decir el usuario debe ingresar el procentaje como se lee 2.3% pero internamente este debe almacenarse como 0.023.

Estoy usando Delphi 6 (zeos) y mysql 5 y la interfaz es un DBgrid.

gracias por cualquier aporte
Responder Con Cita
  #2  
Antiguo 02-07-2007
antrahxg antrahxg is offline
Miembro
 
Registrado: ene 2007
Posts: 10
Poder: 0
antrahxg Va por buen camino
Bueno no me quedo muy claro lo que quieres

pero por ejemplo si el usuario introduce 2.3% y quieres que se guarde como 0.023 pues al momeno de guardar la informacion dividela entre 100 y para mostrar el 0.023 como porcentaje al mostrarlo lo multiplicas por 100, por ejemplo


table1.fieldbyname('porcentaje').asfloat:=strtofloat(porcentaje.text)/100

y para mostrarlo

procentaje.text:=floattoStr(table1.fieldbyname('porcentaje').asfloat *100)
Responder Con Cita
  #3  
Antiguo 02-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
si pero el problema es donde lo programo, estoy usando un dbgrid enlazadoa datos:
en la tabla los datos estan asi
COMISION
0.02
0.04
0.06
de eesta misma forma aparecen n el dbgrid, lo que deseo es que aparezcan asi
COMISION
2 %
4 %
6 %
y que al momento de ingresar un valor en el grid el usuario digite 6 y al presionar enter o moverse a otra fila se actualice a : '6 %' con le símbolo de % pero que el la tabla se grabe como 0.06

gracias por tu respuesta
Responder Con Cita
  #4  
Antiguo 02-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
En la propiedad DisplayFormat del campo pon 0.0%.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 02-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
si con displayformat := 0.000 '%' he conseguido :

DATO REAL SE MUESTRA ASI QUISIEERA QUE SE VEA ASI
0.01 0.01 % 1%


Si el usuario ingresa 7 por ejemplo en la columna comision:

QUE SE GUARDE ASI SE INGRESE ASI SE VEA ASI
0.07 7 7%

Gracias por responder tán rápido. Un saludo
Responder Con Cita
  #6  
Antiguo 02-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Error de escritura

ok esto es lo que quería decir:
si con displayformat := 0.000 '%' he conseguido :

Código:
 
DATO REAL             SE MUESTRA ASI            QUISIEERA QUE SE VEA ASI
0.01                        0.01 %                                    1%
Si el usuario ingresa 7 por ejemplo en la columna comision:

Código:
 
QUE SE GUARDE ASI                SE INGRESE ASI                    SE VEA ASI
0.07                                         7                             7%
Gracias por responder tán rápido. Un saludo
Responder Con Cita
  #7  
Antiguo 03-07-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En el evento OnGetText puedes multiplicar por 100.
En el evento OnSetText del campo, puedes dividir por 100.

Con las propiedades DisplayFormat/ EditFormat, consigues añadir el símbolo de porcentaje o eliminarlo al editar (así como el número de decimales que se verán)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 03-07-2007
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 19
reevil Va por buen camino
al guardar como ya te dijeron divides entre 100
y para mostrarlo en el formato que quieres,que tal hacerlo con un query
Código SQL [-]
SELECT concat(porcentaje * 100 , '%') as porcentaje_formateado FROM tabla;
Responder Con Cita
  #9  
Antiguo 03-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
Cita:
En el evento OnGetText puedes multiplicar por 100.
En el evento OnSetText del campo, puedes dividir por 100.
ok gracias por todo lo resolvi como me dijiste
Código Delphi [-]
procedure TfrmSisPago.tbl_SisPagoDetComisionGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
Text := FormatFloat('#'+DecimalSeparator+'00 %',(Sender.AsCurrency * 100));
end;
procedure TfrmSisPago.tbl_SisPagoDetComisionSetText(Sender: TField;
  const Text: String);
begin
Sender.AsFloat := StrToFloat(Text)/100;
end;

con la salvedad que el formato dado a las propiedades displayformat/editformat no funcionan ya que el dato es directamente gestionado por los eventos get y set text

muchas gracias me sirvio de mucho
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
enviar dbgrid a excel con formato federicorl API de Windows 1 17-01-2007 17:52:52
Porcentaje de uso del CPU OSKR C++ Builder 2 13-07-2006 01:23:53
Dar Formato a una columna de un dbgrid Josep Lluis Varios 3 20-05-2005 10:03:20
DBgrid A Excel con formato Caracolg SQL 3 04-11-2004 22:47:27
Formato Fecha en DbGrid IceJamp OOP 4 28-09-2004 13:22:42


La franja horaria es GMT +2. Ahora son las 16:05:57.


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