FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper No me funciona un VALID con decimales.
Posts: 17
Joined: Mon Oct 31, 2005 06:16 PM
No me funciona un VALID con decimales.
Posted: Mon Nov 14, 2005 05: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

Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
No me funciona un VALID con decimales.
Posted: Mon Nov 14, 2005 08: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.
Posts: 17
Joined: Mon Oct 31, 2005 06:16 PM
Solucionado.
Posted: Tue Nov 15, 2005 08:42 AM

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

Gracias y un saludo.
Fernando Morales del Rosario

Continue the discussion