[Gvsig_usuarios] Error aplicando filtro en campos numericos de tabla

Carlos Meza cali_gis en yahoo.com.ar
Jue Oct 25 16:14:08 CEST 2012


Boris, un campo Double tiene una representacion de punto flotante normalizado donde el exponente es en base 16. Esto significa que los decimatel estan en base 16, con lo cual no todas todas las posibilidades de fracciones decimales se pueden representar con una cantidad finita de numeros hexadecimales.
Normalmente este tipo de representacion numerica se utiliza para calculos matematicos que no es tam importante el valor exacto sino la magnitud, es decir si los valores numericos estan en millones no interesa tanto los decimales.
Si es importante el valor exacto deberias usar campos decimales o monetarios donde la representacion de los numeros si tiene importancia cada uno de sus digitos.
Lo que debe estar pasando en este caso esque el valor de comparacion que estas utilizando no tiene una representacion en Double

con un numero finito de caracteres, o que el valor de la tabla que ves no es exactamente el que esta guardado, porque lo que ves es una conversion a base 10 lo que se almacena internamente en base 16.
Como referencia te doy el link en Wikipedia

http://es.wikipedia.org/wiki/Coma_flotante

Saludos

Cali



________________________________
 De: boris diaz <boris.forestal en gmail.com>
Para: Lista de Usuarios de gvSIG <gvsig_usuarios en listserv.gva.es>; gvsig-desktop-tsc-pub en lists.forge.osor.eu 
Enviado: miércoles, 24 de octubre de 2012 12:16
Asunto: [Gvsig_usuarios] Error aplicando filtro en campos numericos de tabla
 
Estimados, estamos trabajando con gvSIG 1.11 para desarrollar la 4ta
edicion de un curso basico
de gvSIG en breve en patagonia austral (argentina).
Probando todas las herramientas para elaborar manuales nos hemos
topado con el siguiente inconveniente.

En campos DOUBLE con informacion numerica con decimales, encontramos
que cuando el dato consiste en un entero y x cantidad de decimales
distintos de 0, el filtro de busqueda '=' no funciona, es decir no me
arroja resultados en la busqueda. Por el contrario todo valor entero
con cualquier cantidad de decimales siempre que sean = a cero,
funciona.
raro, ya que los comandos '>' o '<', las alternativas para buscar
valores especificos, si funcionan.

¿alguna idea?
¿podria el tipo de formato del dbf (en este caso Cp850) estar haciendo lio?

saludos cordiales a la lista.
boris

--------------------------------------------------------------
Boris G. DIAZ - Mg.Sci.Ing. Forestal
SIT SantaCruz - Gobierno de Santa Cruz
www.sitsantacruz.gob.ar
Unidad Académica Río Gallegos (UNPA)
---------------------------------------------------------------
_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios en listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:

http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20121025/d377d019/attachment.htm 


Más información sobre la lista de distribución gvSIG_usuarios