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 

Formato de presentación de números con TTable y TQuery

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Formato de presentación de números con TTable y TQuery Responder citando

Ante todo buenos días (o buenas tardes/noches)

Tengo el siguiente problema:

Mi aplicación maneja una base de datos de Interbase con un montón de datos de tipo "double precision" (lo hago porque necesito la precisión).
Para acceder a los datos utilizo objetos del tipo TTable y TQuery.
A la hora de presentarlos, ya sea en un DBGrid o DBEdit y demás quiero que salgan con la precisión limitada a DOS DECIMALES y con el correspondiente redondeo.
Para ello utilizo la propiedad DisplayFormat que tienen los objetos TField dentro de los TTable y TQuery.
El problema es que con cualquiera de estas máscaras para el formato "0.00" o "0.##" los números no se redondean correctamente cuando el tercer decimal es un 5 exacto, por ejemplo.

El número 11.575 aparece como 11.57 cuando en realidad debería ser 11.58.
Ya estoy desesperado Sad

¿Podéis ayudarme?

Muchas gracias de antemano.

Volver arriba
Mensaje    Asunto: Formato de presentación de números con TTable y TQuery Responder citando

Has probado con ,###.00, otra forma seria intervenir en el evento on DrawColumnCell y verificar el tercer decimal forzando la escritura de la columna, (No lo he hecho solo se me ocurre)
Por Cierto ¿Sabes como se asigna en tiempo de ejecucion el DisplayFormat?
Volver arriba
Mensaje    Asunto: Formato de presentación de números con TTable y TQuery Responder citando

Perdona por contestar tan tarde Alfredo:

Al final lo que hice fue usar el evento OnGetText de cada campo que necesito redondear.

Para asignar en tiempo de ejecución la propiedad DisplayFormat solo tendrías que acceder a las propiedades del campo en cuestión y ahí te aparece como un AnsiString.

Lo único es que para hacer esto, creo que antes tienes que declarar la variable que se asociará al campo en cuestión en el editor de campos de la tabla elegida. Como hay que hacerlo para acceder a esa propiedad en tiempo de diseño.

Volver arriba
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.