Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como formatear numeros en TQuery? (https://www.clubdelphi.com/foros/showthread.php?t=6588)

HombreSigma 14-01-2004 04:03:43

Como formatear numeros en TQuery?
 
Tengo un componente TQuery con varios campos que se crean dinamicamente simultaneamente con su sentencia sql que se arma a gusto del usuario.

El problema es que necesito formatear los campos numericos flotantes de tal manera que me elimine el e-nn propio de los nùmeros muy grandes o muy pequeños.

He intentado displayformat pero no lo reconoce. Alguna sugerencia??


MiQuery.Fields[CampoNo].?????? :='###,###,##0'


Que propiedad coloco en la interrogaciòn de la instrucción de arriba o existe algun otro metodo?

andres1569 14-01-2004 11:12:01

Hola:

Aunque creo que la máscara que utilizas es excesiva (demasiadas almohadillas me refiero), la propiedad correcta es DisplayFormat, pero puesto que los campos se crean dinámicamente, trata de asignarla en el AfterOpen del TQuery, mediante un bucle que recorra todos los campos y asigne sólo los que son numéricos. Si lo has hecho así, no veo por qué no deba funcionar.

Código:

for i:=0 to Dataset.FieldCount - 1 do
  if Fields[i] is TNumericField then
    TNumericField (Fields[i]).DisplayFormat := '#,0';

Escribo de memoria, no sé si he metido algún gazapo en este código, es la idea solamente, pero lo importante es que lo ejecutes en el AfterOpen del Query.

__cadetill 14-01-2004 11:23:12

Lo que debes hacer es un casteo al tipo de campo pertinente, es decir, algo así:

TIntegerField(Query1.Fields[1]).DisplayFormat := '###,###,##0';

Para saber el tipo de casteo a hacer, puedes utilizar el DataType de los TFields (en la ayuda verás los distintos tipos posibles)

Query1.Fields[1].DataType

Espero te sirva


La franja horaria es GMT +2. Ahora son las 12:41:33.

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