Ver Mensaje Individual
  #8  
Antiguo 30-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola einarcito,
Bueno, por lo que veo pareciera que usas componentes ADO.
Ahora sería bueno saber que motor empleas.
Y como he dicho antes ¿Podemos conocer algo más de tu situación? ¿Un poco más del código? ¿Que reporteador usas?

Veamos si nos explicamos mejor. Porque tu tampoco has sido muy detallista en tus explicaciones.

Por un lado mencionas de que necesitas mostrar con comas, pero por el otro necesitas guardar con punto.
Bueno, como he dicho antes: existe una propiedad llamada DisplayFormat. Mediante esta propiedad se puede establecer el formato a los campos para ser mostrados. Es en esta propiedad donde puedes indicar que en vez de punto emplees coma. Cómo se guardarán los datos, es otro tema y mejor dejarselo al motor quien sabe.
DisplayFormat sólo da el formato a efectos de visualización, no afecta en como se guarde internamente el dato.

Además el reporteador debería ser capaz de trabajar y extraer el formato para el campo. Si es así, no debería haber problemas.

Ahora bien, hay algo extraño en esa minúscula muestra de código. Redondeas. Cuando lo haces, obtienes en realidad la parte entera. En caso de que la variable sea del los tipos flotantes (como ser real o double) el valor quedaría así: 453.000.

Yo amablemente te he preguntado, en que formato estás guardando el dato. Por el código pareciera que es string.
Yo me pregunto ¿es necesario guardar el dato como string?
Y ahora viene el tema, en donde se mezclan reales, enteros, y strings.

La pregunta importante a formularte es: ¿Inicialmente, y verdaderamente, de que tipo el el dato? ¿Trabajas con reales, o enteros? Los ceros a la derecha de la coma no tienen significado. Y si es un requisito mostrar los decimales, aun a pesar de ser enteros, a efectos de visualización es mejor destinar esa propiedad DisplayFormat y guardar el dato como entero.

Ahora bien, si el dato realmente es real, y se necesita de los decimales (distintos de ceros) si es necesario tener un campo en la base de datos que soporte el equivalente al tipo necesario.

De cualquier forma, sean enteros o reales, el componente Field dispone de la propiedad y es ella quien determina como se mostrará el valor.

Y aquí otra cuestión, supuestamente pareciera ser que estamos hablando de dinero... más motivo aún para indicarte que se debería trabajar con el tipo Moneda, Currency.

Si nos detallaras mejor tu problema, más fácil sería ayudarte.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita