Je veux faire des sommes simples avec des valeurs monétaires exprimées en BigDecimal
type.
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);
Evidemment je ne comprends pas bien l' BigDecimal
arithmétique, voir la sortie derrière.
Test
0
0
0
Quelqu'un peut m'aider?
java
bigdecimal
Sergio del Amo
la source
la source
add(..)
: "augend - valeur à ajouter à ce BigDecimal.". De plus, dire "... renvoie un nouveau BigDecimal ..." au lieu de "... renvoie un BigDecimal ..." serait une bonne idée. Peut-être que je suis juste pinailleur, mais à mon humble avis, il y a place à l'amélioration ici :-)Il semble que dans la documentation Java ici , add renvoie un nouveau BigDecimal:
la source
la source
C'est en fait assez facile. Faites juste ceci:
Voir également:
BigDecimal#add(java.math.BigDecimal)
la source
BigInteger est immuable, vous devez le faire,
la source
la source
20
la source
Vous pouvez également le faire comme ceci:
Impressions:
la source
Utilisation de lambdas Java8
Cela couvre les cas où tout ou partie des objets de la liste est nul.
la source
Il est immuable car il stocke en interne votre entrée, c'est-à-dire (15) comme le
final private final BigInteger intVal;
même concept utilise au moment de la création de la chaîne que chaque entrée est finalementprivate final char value[];
stockée dans . Il n'y a donc pas de bogue implémenté.la source
Juste un autre exemple à ajouter
BigDecimals
. Le point clé est qu'ils sont immuables et qu'ils ne peuvent être initialisés que dans le constructeur. Voici le code:la source