gvSIG bugs #5520
Cuando creamos un campo Double o Decimal y lo rellenamos con una división entre dos campos Integer no los calcula con decimales
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Normal | Spent time: | - | |
Assignee: | Joaquín del Cerro Murciano | |||
Category: | Document table | |||
Target version: | 2.6.0-3302 | |||
Severity: | Minor | Add-on version: | ||
gvSIG version: | 2.5.1 | Add-on build: | ||
gvSIG build: | 3046 | Add-on resolve version: | ||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | Hito: | |||
Add-on name: | Unknown |
Description
Cuando creamos un campo Double o Decimal nuevo (en el doble incluso con "Precisión" 2) y lo rellenamos con la calculadora de campos con una división entre dos campos Integer, el resultado es un entero con ceros en los decimales. Redondea al entero inferior.
Adjunto capa, donde los dos últimos campos son los que he creado dividiendo los campos Poblacion/Area_km2
Associated revisions
refs #5520, añadida sugerencia de division entera y correccion en la division de bigdecimal en el evaluador de expresiones
History
#1 Updated by Joaquín del Cerro Murciano over 1 year ago
- Target version changed from 2.6.1-final to 2.6.0-3302
- Assignee set to Joaquín del Cerro Murciano
- Status changed from New to Fixed
Esto no es un error, es una característica de java, la división de dos enteros es un entero. Para que dé el resultado que se espera, debe aplicarse a alguno de los dos valores la conversión a double o float. O sea, por ejemplo para calcular la densidad a partir de dos valores enteros la fórmula debería ser algo así: TODOUBLE/Area_km2.
Se ha añadido que cuando el constructor de expresiones detecte que se introducido una expresion en la que se dividan dos enteros (no siempre puede hacerlo) le presente una sugerencia al usuario indicando que tal vez deberia convertir uno de los operandos a un valor decimal.
#2 Updated by Álvaro Anguix 9 months ago
- Status changed from Fixed to Closed