![]() |
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 |
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) |
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 |
En la propiedad DisplayFormat del campo pon 0.0%.
Salud OS. |
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 |
Error de escritura
ok esto es lo que quería decir:
si con displayformat := 0.000 '%' he conseguido : Código:
Código:
|
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 |
al guardar como ya te dijeron divides entre 100
y para mostrarlo en el formato que quieres,que tal hacerlo con un query
|
Cita:
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 |
La franja horaria es GMT +2. Ahora son las 05:01:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi