Quiero hacer algunas sumas simples con algunos valores de moneda expresados en BigDecimal
tipo.
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 no entiendo bien la BigDecimal
aritmética, ver salida detrás.
Test
0
0
0
¿Puede alguien ayudarme?
java
bigdecimal
Sergio del Amo
fuente
fuente
add(..)
: "augend - valor que se 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 jugando, pero en mi humilde opinión, hay margen de mejora aquí :-)Parece de los documentos de Java aquí que agregar devuelve un nuevo BigDecimal:
fuente
fuente
En realidad es bastante fácil. Solo haz esto:
Ver también:
BigDecimal#add(java.math.BigDecimal)
fuente
BigInteger es inmutable, debes hacer esto,
fuente
fuente
20
fuente
También puedes hacerlo así:
Huellas dactilares:
fuente
Usando lambdas Java8
Esto cubre casos en los que algunos o todos los objetos de la lista son nulos.
fuente
Es inmutable porque almacena internamente su entrada, es decir (15)
final private final BigInteger intVal;
y el mismo concepto de uso en el momento de la creación de la cadena, cada entrada finalmente se almacena enprivate final char value[];
.Así que no hay ningún error implícito.fuente
Solo otro ejemplo para agregar
BigDecimals
. El punto clave es que son inmutables y solo se pueden inicializar en el constructor. Aquí está el código:fuente