Добавить BigDecimal, чтобы иметь промежуточный итог
Я хотел бы выбрать ваши brians о BigDecimal.. У меня есть метод, который должен добавить сумму текущих работ. вот:
private BigDecimal addUpTotal(BillRec bill, BigDecimal runningTotal) {
BigDecimal result = new BigDecimal(0);
if (bill.getBillInfo().getBillSummAmtSize() > 0) {
for (int x = 0; x < bill.getBillInfo().getBillSummAmtSize(); x++) {
if ("TotalAmtDue".equals(bill.getBillInfo().getBillSummAmt(x).getBillSummAmtCode().getCode().toString())) {
result = runningTotal.add(bill.getBillInfo().getBillSummAmt(x).getAmt());
}
}
}
return result;
}
проблема в том, как это назвать? смысл, когда я называю это, как я отслеживаю общее количество? Обратите внимание, как вы можете видеть, я передаю runningTotal в качестве параметра, но не уверен, как сохранить значение в методе, из которого я бы вызвал это.
1 ответ
Решение
Я подозреваю, что вы имели в виду что-то вроде этого:
private BigDecimal addUpTotal(BillRec bill, BigDecimal runningTotal) {
if (bill.getBillInfo().getBillSummAmtSize() > 0) {
for (int x = 0; x < bill.getBillInfo().getBillSummAmtSize(); x++) {
if (...) {
runningTotal = runningTotal.add(...);
}
}
}
return runningTotal;
}
Вы бы назвали это, используя локальную переменную, чтобы сохранить промежуточный итог:
BigDecimal runningTotal = BigDecimal.ZERO;
for (BillRec bill : bills) {
runningTotal = addUpTotal(bill, runningTotal);
}