Problemas en suma de double
Tengo un problema a la hora de hace la suma de dos doubles.
Tengo los doubles con valores 1614.42 y 25726.2.
Si los sumo (dobule1 + double2) el resultado es 27340.620000000003 cuando tenÃa que ser simplemente 27340.62.
No entiendo porque pasa eso. Lo puedo corregir con el DecimalFormat pero lo que yo tampoco puedo es restringir el numero de decimales por la derecha pq puede variar entre 1 y 3, Como puedo solventar el error de la suma.
También he probado hacer la suma con BigDecimal pero me da el mismo resultado.
Tengo los doubles con valores 1614.42 y 25726.2.
Si los sumo (dobule1 + double2) el resultado es 27340.620000000003 cuando tenÃa que ser simplemente 27340.62.
No entiendo porque pasa eso. Lo puedo corregir con el DecimalFormat pero lo que yo tampoco puedo es restringir el numero de decimales por la derecha pq puede variar entre 1 y 3, Como puedo solventar el error de la suma.
También he probado hacer la suma con BigDecimal pero me da el mismo resultado.
Hola!
Bien, no te se decir una solución "profesional", pero lo que sà podÃas hacer es mediante un bucle for, que buscase después de la coma el primer 0 (cero), de tal modo que:
28.56800 te quede 28.568, ya que eliminaste los ceros de la derecha.
A ver si asà te doy una idea.
Venga, un saludo.
Bien, no te se decir una solución "profesional", pero lo que sà podÃas hacer es mediante un bucle for, que buscase después de la coma el primer 0 (cero), de tal modo que:
28.56800 te quede 28.568, ya que eliminaste los ceros de la derecha.
A ver si asà te doy una idea.
Venga, un saludo.
