PDA

Ver la Versión Completa : Recuperar dato con decimales


Alinsan
19-11-2008, 23:08:14
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