Hola Foro, tengo un inconveniente recientemente en la empresa nos migramos a windows 10, y tengo un sistema desarrollado en Visual Fox Pro 9 que utiliza como base de datos Oracle y algunas tablas en dbf, el problema es que las tablas que están en oracle a la hora de consultar los datos de tipo FLOAT me los aproxima y me los devuelve como que fueran INT, pero en las tablas dbf's si funciona como debería.
Le tengo establecido que utilice 6 decimales, pero siempre me sigue aproximando los datos contenidos en oracle, en mi empresa se maneja dinero por lo cual no puede aproximar ya que tiene que ser exacto, si alguien me pudiera ayudar estaría eternamente agradecido.
Abajo dejo los métodos que utiliza para conectarse a la BD y un ejemplo de como consulta los datos.
este es el browse que le hice desde fox pareciera que trae los valores como son

Esto es la consulta desde el sqldeveloper de oracle

ahora cuando me posiciono sobre la casilla que contiene el 221.29 desde el browse de fox, me quita el .29 y me aproxima a 221 y lo mismo pasa cuando se esta ejecutando el programa todos los valores los devuelve sin decimales, y como mencione antes mi empresa maneja prestamos por lo cual los cálculos deben ser exactos.

De antemano muy agradecido por su ayuda
**. en windows 8, 7 funciona correctamente**
procedimiento para establecer conexion
Procedure DBConnect
Lparameters LpDBName,LpUser,LpPass
lcStringConn = "Driver={Oracle en Oracle10g}"+ ;
";Dbq="+LpDBName + ;
";Uid="+LpUser + ;
";Pwd="+LpPass
SQLSetprop(0,"DispLogin",3)
ConOra=Sqlstringconnect(lcStringConn)
If ConOra > 0
Return .t.
Else
=Aerror(laError)
Messagebox("Error de conexión"+Chr(13)+"Descripcion:"+laError[2],0+16,gSistema)
Clear Events
Endif
EndProc
Conectar a la BD
Do DBConnect with 'pinfom','nomi001','usuanomi'
Consulta a la BD
vBus1 = SQLExec(conOra,"Select * From prestamos_infom_cabecera ","cCabe")