Ver Mensaje Individual
  #2  
Antiguo 06-07-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Cita:
Empezado por Alexander
Código:
initialization
ThousandSeparator := ',';
DecimalSeparator := '.';
Esto es lo único que tienes que hacer. y ponerlo en la primera ventana o Datamodule que se crea en la aplicación.

Cita:
Empezado por Alexander
Ahora, cuando estoy mostrando los datos en una grilla, (QuantumExpressGrid) la muestra convirtiendo el dato String en Float, para darle formato
Código:
FormatFloat('#,###.#0 ',StrToFloat(AViewInfo.DisplayValue))
Aqui es donde no he podido hacer que el dato que viene lo convierta a float.
Ejemplo: Guardo el dato 120,000.15 y lo acepta
En la base de datos esta como 120.000,15
Al leerlo, el string es 120.000,15 y no lo permite convertir a 120,100.15 para mostrarlo.
Cual puede ser una solucion definitiva?. He visto que muchas personas tienen el mismo problema.
Alguien tienen una solución.
Por adelantado, muchas gracias por sus comentarios.
Lo que no comprendo es esto:
Cita:
En la base de datos esta como 120.000,15
Entonces el campo en la base de datos es de tipo String, no de tipo Float
Suponiendo que AViewInfo sea el campo en cuestion, no sería más bien AViewInfo.Value??, al coger el valor, no pilla los separadores de millar, y evitas el problema.

Yo el campo lo defino de tipo Float o Currency en la base de datos, y
en la columna del DBGrid, asigno sus propiedades:

DisplayFormat: = ',#0.00';
EditFormat := '#0.00'

Observa que al editar, elimino el separador de miles.

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita