No me funciona un VALID con decimales.

No me funciona un VALID con decimales.

Postby Fernando Morales » Mon Nov 14, 2005 5:55 pm

Hola a todos.

Estoy teniendo problemas al validar un get en el cual capturo un valor numerico con decimales (@E 999,999.99). En dicho get, despues de capturar el valor lo comparo con el valor del campo almacenado en la base de datos (que tiene exactamente la misma cantidad de enteros y decimales que el campo que capturo). Por ejemplo, si le doy 48,21 y el campo de la base de datos contiene también 48,21 me da falso. ¿Es que tengo acaso que formatear el dato de alguna manera para poder compararlo? Es de lo más extraño.

Gracias por adelantado y un saludo.
Fernando Morales del Rosario
Fernando Morales
 
Posts: 17
Joined: Mon Oct 31, 2005 6:16 pm

Postby R.F. » Mon Nov 14, 2005 8:41 pm

Nuncamente mi estimado Fer.

Acuerdate que en todos los lenguajes que manejen procesador de punto flotante la comparacion numerica nunca es exacta.

Solucion: convierte a cadenas de caracteres AMBOS valores y luego realiza la comparacion

STR(valor,2) == STR(campo,2)
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Solucionado.

Postby Fernando Morales » Tue Nov 15, 2005 8:42 am

Ha funcionado perfectamente, aunque de la manera str( nValor, 9, 2 ).

Gracias y un saludo.
Fernando Morales del Rosario
Fernando Morales
 
Posts: 17
Joined: Mon Oct 31, 2005 6:16 pm


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 12 guests