Я хочу сделать несколько простых сумм с некоторыми значениями валюты, выраженными в 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);
Очевидно, я не очень хорошо понимаю BigDecimal
арифметику, см. Вывод позади.
Test
0
0
0
Может кто-нибудь мне помочь?
java
bigdecimal
Серхио дель Амо
источник
источник
add(..)
: «augend - значение, которое будет добавлено в этот BigDecimal.». Кроме того, было бы неплохо сказать «... возвращает новый BigDecimal ...» вместо «... возвращает BigDecimal ...». Возможно, я просто придираюсь, но ИМХО здесь есть место для улучшения :-)Из документации по Java здесь видно, что add возвращает новый BigDecimal:
источник
источник
Это на самом деле довольно легко. Просто сделай это:
Смотрите также:
BigDecimal#add(java.math.BigDecimal)
источник
BigInteger является неизменным, вам нужно сделать это,
источник
источник
20
источник
Вы также можете сделать это так:
Печать:
источник
Использование Java8 лямбды
Это охватывает случаи, когда некоторые или все объекты в списке являются нулевыми.
источник
Он неизменен, потому что он внутренне хранит ваш ввод, т. Е. (15), как
final private final BigInteger intVal;
и при использовании той же концепции во время создания строки, каждый ввод, наконец, сохраняется в. Такprivate final char value[];
что здесь нет явной ошибки.источник
Просто еще один пример, чтобы добавить
BigDecimals
. Ключевым моментом является то, что они неизменяемы и могут быть инициализированы только в конструкторе. Вот код:источник