Page 1 of 1

No me funciona un VALID con decimales.

Posted: Mon Nov 14, 2005 5:55 pm
by Fernando Morales
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

Posted: Mon Nov 14, 2005 8:41 pm
by R.F.
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)

Solucionado.

Posted: Tue Nov 15, 2005 8:42 am
by Fernando Morales
Ha funcionado perfectamente, aunque de la manera str( nValor, 9, 2 ).

Gracias y un saludo.
Fernando Morales del Rosario