Quiero hacer algunas sumas simples con algunos valores de moneda expresados en BigDecimal
tipo.Adición para BigDecimal
BigDecimal test = new BigDecimal(0);
System.out.println(test);
test.add(new BigDecimal(30));
System.out.println(test);
test.add(new BigDecimal(45));
System.out.println(test);
Obviamente, yo no entiendo bien las BigDecimal
aritmética, ver la salida atrás.
Test
0
0
0
¿Alguien me puede ayudar?
puedo entender la confusión. A pesar de que se afirma que BigDecimal es inmutable, la documentación podría ser mejor. Por ejemplo, el estado de los documentos para el método 'add (..)': "augend - valor a agregar ** a este ** BigDecimal". Además, decir "... devuelve un ** nuevo ** BigDecimal ..." en lugar de "... devuelve un BigDecimal ..." sería un buen toque. Tal vez solo estoy curioseando, pero en mi humilde opinión hay margen de mejora aquí :-) – pauluss86
Como nota al margen, BigDecimal no es completamente inmutable ya que no es final como String ... – Zai
@Zai Pero eso es solo un error de implementación, no por diseño . El código que se puede mantener no debe explotar eso. –