![]() |
Currency to float
Hola a todos,
Tengo un problema con esta conversion tengo un edit que utiliza el campo de currency, hago la suma de los valores(campos reales), y al momento de querer comparar esta suma con un campo de la base de datos. Pero aunque el resultado de los campos sean iguales, no entra al ciclo. y quiero creer que el problema son los tipos de datos, pero no he encontrado la funcion(si es que existe) para convertir de currency a float. Si alguien sabe si existe y en donde encontrarla, se lo agradeceria mucho el campo que saco de la base de datos es real o flotante. Saludos!!! |
da mas detalles
podrias ser un poco mas especifico de con que base de datos estas trabajando, version de delphi, componenete de coneccion.. y como estas queriendo hacer esas comparaciones..
en teoria un currenci en un tipo flotante... o sea que no puedes pasar de currenci a float porque es lo mismo solo que mas grande... que seria lo mismo pasar int64 a integer... espero no estar hablando tonteras... pero bue.. |
Como primer punto, un currency tiene mas precision que un float (de hecho me parece que es realmente un double) asi que convertir un float a currency no tiene problema pero a la inversa si por lo mismo.
Lo que puedes hacer es usar el cast del tfield para hacer la comparacion: MiTabla.fieldByName('campo_real').AsCurrency = datocurrency La otra (y la mejor): Si en tus calculos usas currency no entiendo porque en tu tabla no usas el mismo tipo, o a la inversa. De modo que cambia ya sea el tipo de los edits que manejas a float o bien el campo de tu table a double o similar al currency. |
La franja horaria es GMT +2. Ahora son las 18:28:49. |
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