Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Recuperar dato con decimales (https://www.clubdelphi.com/foros/showthread.php?t=61732)

Alinsan 19-11-2008 23:08:14

Recuperar dato con decimales
 
Hola

La situacion es la siguiente, tengo una base de datos en MSQLS 2005, y tengo 2 programas, 1 en vb6 y el otro en delphi, el problema es en ambos, despues de realizar una consulta fuerte en el sistema, si veo en el administrador del sql tengo los valores x, y, z que son de tipo float, aca estos tienen alrededor de 15 a 20 decimales, el problema viene aca, tengo que trabajar con esos datos, entonces al recuperarlos desde cualquiera de los 2 programas me recupera con un total de 15 decimales, si el numero tiene mas de 15 decimales me lo redondea automaticamente a 15, yo no puedo redondear ya que es un sistema para el Indice de Precios al Consumidor y por ley se debe trabajar con todos los decimales, no se que hacer, como puedo recuperar los numeros completos, en el administrador estan los decimales completos, esto sucede al recuperarlos desde el programa.

Gracias de antemano

droguerman 19-11-2008 23:16:01

Prueba con cambiar el tipo de dato de la columna de float a decimal, es más exacto e intenta usar tipos extended (delphi) y double (vb) para los datos.


Saludos

Alinsan 19-11-2008 23:21:12

la macana es que no tengo acceso a la bd para modificarla, asi que se quedara como float, en vb6 no me aparece el tipo decimal?? o es que estoy haciendo algo mal??

salvica 23-11-2008 19:45:54

Hola alinsan
Creo que eso depende de la configuración del ordenador, antes (con w98) podía modificarse en Sistema -> Configuración regional

Prueba a modificar el valor de la variable de Delphi CurrencyDecimals (al inicio del evento OnCreate del Form principal de la aplicación)

Luego prueba la modificación y si no funciona intenta tratar los valores como Currency (moneda)

La ayuda de Delphi dice al respecto:
CurrencyDecimals CurrencyDecimals is the number of digits to the right of the decimal point in a currency amount.
On Windows, the initial value is fetched from LOCALE_ICURRDIGITS.


Saludos
Salvica


La franja horaria es GMT +2. Ahora son las 12:18:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi