a mi me pasa lo mismo
Digits of precision in numeric computations. Visual FoxPro can handle numbers up to 9007199254740992 (2^53) in exact computations.
16
Miscellaneous:
64 bits = 8 bytes
Largest number = 10 ^ 308 = 2 ^ 1023
-> 10 bits per exponent + 1 for exponent sign plus 1 for number sign => 12 bits
Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits
LOG10(2^53) = 15.95 decimal digits accuracy
Prueba usando logaritmos:Pero debes tener en cuenta que:
? EXP(LOG(1)-LOG(10000000))
Digits of precision in numeric computations. Visual FoxPro can handle numbers up to 9007199254740992 (2^53) in exact computations.
16
Miscellaneous:
64 bits = 8 bytes
Largest number = 10 ^ 308 = 2 ^ 1023
-> 10 bits per exponent + 1 for exponent sign plus 1 for number sign => 12 bits
Leaving 52 bits for the mantissa + 1 for implied normalized bit -> 53 bits
LOG10(2^53) = 15.95 decimal digits accuracy
Lambaré - Paraguay.Saludos,Víctor.
Carlos, ya probe asiSELECT CAST(1/10000000 AS numeric(20,18)) FROM TablaySELECT CAST(1/10000000 AS float(20,18)) FROM Tablaeso da siempre 0sin embargo la idea de Victor funciona...SELECT EXP(LOG(1)-LOG(10000000)) FROM TablaEso si no recuerdo nada de logaritmos como para arribar a la conclusion de porque funciona.Saludos,PanchoCórdobaArgentina
El lun., 12 sept. 2016 a las 18:46, Carlos Miguel FARIAS (<carlosmig...@gmail.com>) escribió:
La solución sería enviar el resultado a un campo tipo double (creo que código de campo B)CREATE CURSOR Resultados (tuCampo B(16))REPLACE tuCampo WITH numerador_pequenio / denominador_grandePero igual, no tienes más de 18 dígitos decimales de precisión.Ver en la ayuda campo doubleSaludos: Miguel, La Pampa (RA)