FINERACT-2148: Resolve rounding issue in interest period calculation

This commit is contained in:
Oleksii Novikov
2025-01-07 19:40:32 +01:00
committed by Adam Saghy
parent 2fbdbe9df7
commit b7e6f356da
8 changed files with 179 additions and 179 deletions
@@ -87,8 +87,8 @@ public class InterestPeriod implements Comparable<InterestPeriod> {
long lengthTillPeriodDueDate = getLengthTillPeriodDueDate();
final BigDecimal interestDueTillRepaymentDueDate = lengthTillPeriodDueDate == 0 //
? BigDecimal.ZERO //
: getOutstandingLoanBalance() //
.multipliedBy(getRateFactorTillPeriodDueDate(), mc).getAmount() //
: getOutstandingLoanBalance().getAmount() //
.multiply(getRateFactorTillPeriodDueDate(), mc) //
.divide(BigDecimal.valueOf(lengthTillPeriodDueDate), mc) //
.multiply(BigDecimal.valueOf(getLength()), mc); //
return Money.of(outstandingLoanBalance.getCurrencyData(), interestDueTillRepaymentDueDate, mc);