[Gvsig_desarrolladores] Falla

Joaquin del Cerro jjdelcerro.gvsig en gmail.com
Mar Nov 6 14:03:29 CET 2012


El 06/11/12 09:20, Francisco José Peñarrubia escribió:
> Hola Mauricio.
> 
> Eso es normal, es como funcionan casi todos los lenguajes de programación.
> Tienes que convertir tus campos (supongo que basta con uno) a double para que la división sepa que trabajas con decimales.
> 
> Saludos.
> 
> Fran.
> 
> El 06/11/2012 0:59, Mauricio Perez escribió:
>> Utilizo gvSig 1.12.0 he probado con dos versiones de java y me ha ocurrido lo mismo:
>>
>> Al realizar un cálculo de "Expresion" sobre dos valores enteros con resultado en un campo de tipo doble me ocurría que me realizaba una división entera y en el campo de tipo doble colocaba 0 (cero)
>> o 1.
>> Sería algo así:
>>
>> doble = entero / entero -> en ves de devolver un valor tipo doble devolvía un entero en el campo doble. 0 o 1 alcaro que era un calculo de porcentaje.
>>

Hola,
como dice fran, es normal. La calculadora de campos utiliza el interprete
de Jython (version java de Python) para evaluar las expresion, y ese
es el comportamiento por defecto del lenguaje.
El resultado de una operacion en la que todos los operadores son enteros
es un entero. Basta con que introduzcas un operador decimal o conviertas
uno de los operadores a decimal para que el resultado sea ya un valor decimal

double = entero / float(entero)

o

double = entero / (entero + 0.0)

Cualquiera de las dos formas te valdria, aunque yo prefiero usar la funcion
float, lo de sumarle 0.0 para forzar a que sea un valor decimal queda muy
raro.


  $ python
  Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
  [GCC 4.4.3] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> 2/3
  0
  >>> 2/float(3)
  0.66666666666666663
  >>>

Un saludo
Joaquin



>>
>>
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores 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_desarrolladores
> 
> 
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores 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_desarrolladores


-- 
--------------------------------------
Joaquin Jose del Cerro
Development and software arquitecture manager.
jjdelcerro en gvsig.com
gvSIG Association
www.gvsig.com
www.gvsig.org


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