[Gvsig_usuarios] Redondeo de decimales

Sergio Clark sergio.clark en iver.es
Mar Jun 8 11:31:21 CEST 2010


Hola Nestor,

Sí. Te serviría seguro si modificas como te digo el contenido de la 
tabla, previamente a crear las etiquetas. Lo de hacerlo directamente 
desde el panel de etiquetado sin modificar la tabla, no estoy seguro de 
que no se pueda, ya que con el "Etiquetado definido por usuario" es 
posible introducir expresiones que utilizan gramática SLD, pero ahora 
mismo no sé cual sería el comando equivalente a 'floor' o 'round' de la 
Calculadora de campos que "entienda" SLD.

Por cierto, el 'floor' tiene la pega de que no redondea, sino que trunca 
los valores por debajo. Lo correcto para que se tenga en cuenta el 
siguiente decimal sería usar el 'round':

round([area]*100)/100.0      (añadiéndole el .0 al dividir para que tome 
los decimales correspondientes)


Saludos,


Sergio Clark
Equipo gvSIG
IVER T.I., S.A.
www.iver.es
www.gvsig.com



Nestor López escribió:
> Hola Sergio
>
> Esta solucion serviria para el problema que plantee en el mensaje 
> siguiente (26 de mayo de 2010) y al cual no recibi una contestacion 
> tecnica o recomendación de gvsig?
>
>
> ...
> asunto: Muestra de decimales en etiqueta??
>
> Hola
>
> Tengo el problema en el armado de la etiqueta de algunos campos de la 
> tabla.
> Cada vez que tengo que mostrar en un mapa datos como área o densidades 
> calculados previamente en el aplicativo es un problema, en la que los 
> mismos poseen valores con varios decimales aunque haya determinado en 
> la creación del campo otros parámetros y luego utilizado la 
> calculadora. El problema es que se mantiene el formato de donde se 
> trae la informacion, y no tanto a donde se destina.
> La pregunta es:
> ¿Existe alguna forma de crear una nueva columna (por ej.) y 
> transformar los valores con 6-7 decimales a valores de 2 decimales 
> (valor de mi interés, por ser de mejor representación en el mapa)?
> o a su defecto, ¿alguna forma de mostrar sin haber cambios en el 
> contenido, y por la cual se mantenga en el mapa solo dos decimales? 
> Tengo experiencia que en el Arcgis se puede indicar de mostrar las 
> decimales que se desea etiquetar sin transformar la tabla.
>
> Con el tema del tamaño de caracteres que determina el valor del 
> atributo hace que se dificulte mantener los decimales. Tengo casos con 
> densidades, unos de miles , otros de centenas, y si se determina un 
> valor justo de tamaño, las decimales van variando, aunque previamente 
> tambien haya definido una  precision para decimales.. es decir si 
> deseo mantener para todo el campo el valor de 2 decimales, no es 
> posible, por el formato de tamaño.
>
> En el anexo incluyo una prueba que hice para darme cuenta de la 
> dificultad. Es un shape de 10 poligonos, a la cual en la tabla de 10 
> registros determino valores diferentes, de miles, centenas y decenas, 
> como de diferentes decimales.
> Al modificar tabla cree campos de tamaños (t) y precisiones (p) 
> diferentes. Todos los resultados respetan el tamaño, pero ninguno de 
> los casos mantiene los decimales en el conjunto de los registros.
>
> Entonces, si alguien me puede contestar ... gracias.
> Seria de mucho interés que hubiera una solucion...y sino buena tarea 
> para los desarrolladores.
>
> Saludos
>
> Néstor López
> Montevideo, Uruguay.
>
> _______________________________________________________________________________
>
>
> El 7 de junio de 2010 13:41, Sergio Clark <sergio.clark en iver.es 
> <mailto:sergio.clark en iver.es>> escribió:
>
>     Hola,
>
>     Hay un comando de la Calculadora de campos que puede ayudarte a
>     hacerlo.
>     Si tienes, por ejemplo, tu campo [area] con los valores "sin
>     redondear",
>     haces:
>
>     floor([area]*100)/100
>
>     y esto te devolverá esos valores truncados a partir del segundo
>     decimal
>     (el comando 'floor' te devuelve un valor sin decimales. Si quisieras
>     tres decimales multiplicarías por 1000, y luego divides también
>     entre 1000).
>
>
>     Un saludo,
>     Sergio.
>
>
>     Sergio Clark
>     Equipo gvSIG
>     IVER T.I., S.A.
>     www.iver.es <http://www.iver.es>
>     www.gvsig.com <http://www.gvsig.com>
>
>
>
>     Hugo Riquelme Ortega escribió:
>     > Hola a todos,
>     >
>     > Tengo una pregunta que seguro que es muy sencilla, pero que no
>     sé cómo
>     > tengo que hacerlo.
>     >
>     > ¿Es posible redondear a 2 decimales el resultado de una fórmula? Si
>     > calculo un área, ¿cómo lo hago? Yo he hecho round(area()) y me sale,
>     > pero sin decimales, ¿cómo le pongo ahí que saque 2 decimales?
>     >
>     > Muchísimas gracias.
>     >
>     > Un saludo.
>     >
>     > Hugo Riquelme Ortega
>     > Ing. Téc. Forestal
>     > Jardinería, paisajismo y proyectos forestales
>     > http://www.alicanteforestal.es
>     > _______________________________________________
>     > gvSIG_usuarios mailing list
>     > gvSIG_usuarios en listserv.gva.es
>     <mailto: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
>     >
>     >
>     >
>
>     Este mensaje y sus archivos son confidenciales. No está permitida
>     su reproducción o distribución sin la autorización expresa de
>     "IVER Tecnologías de la Información". Si usted no es el
>     destinatario previsto, queda desautorizado cualquier uso, acceso o
>     copia de este mensaje. Si ha recibido este mensaje por error, por
>     favor bórrelo e infórmenos por esta misma vía.
>
>
>     _______________________________________________
>     gvSIG_usuarios mailing list
>     gvSIG_usuarios en listserv.gva.es <mailto: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
>
>

Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.




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