36 lines
1.9 KiB
Dart
36 lines
1.9 KiB
Dart
import 'package:flutter_application_1/enums.dart';
|
|
|
|
// Berechnet das investierte Geld über eine bestimmte Zeit
|
|
double calculateInvestedMoney(double initialCapital, double monthlySavingsRate, double time, List<double> investedMoneyList) {
|
|
double investedMoney = initialCapital;
|
|
investedMoneyList.clear();
|
|
for (int i = 0; i < time; i++) {
|
|
investedMoney += monthlySavingsRate * 12; // Jährliche Sparrate hinzufügen
|
|
investedMoney = investedMoney.roundToDouble();
|
|
investedMoneyList.add(investedMoney); // Investierten Betrag zur Liste hinzufügen
|
|
}
|
|
return investedMoney;
|
|
}
|
|
|
|
// Berechnet den Zinseszins über eine bestimmte Zeit.
|
|
double calculateCompoundInterest(double initialCapital, double monthlySavingsRate, double interestRate, double time, PayoutInterval payoutInterval, List<double> investedMoneyList, List<double> compoundInterestList) {
|
|
double compoundInterest = initialCapital;
|
|
compoundInterestList.clear();
|
|
if (payoutInterval == PayoutInterval.yearly) { // Berechnung für jährliche Auszahlung
|
|
for (int i = 0; i < time; i++) {
|
|
compoundInterest += compoundInterest * (interestRate / 100) + monthlySavingsRate * 12; // Zinsen und jährliche Sparrate hinzufügen
|
|
compoundInterest = compoundInterest.roundToDouble();
|
|
compoundInterestList.add(compoundInterest - investedMoneyList[i]); // Zinseszins zur Liste hinzufügen
|
|
}
|
|
} else { // Berechnung für monatliche Auszahlung
|
|
for (int i = 0; i < time; i++) {
|
|
for (int j = 0; j < 12; j++) {
|
|
compoundInterest += compoundInterest * ((interestRate / 100) / 12) + monthlySavingsRate; // Monatliche Zinsen und Sparrate hinzufügen
|
|
compoundInterest = compoundInterest.roundToDouble();
|
|
}
|
|
compoundInterestList.add(compoundInterest - investedMoneyList[i]); // Zinseszins zur Liste hinzufügen
|
|
}
|
|
}
|
|
return compoundInterest; // Gesamtkapital nach Zinseszinsberechnung zurückgeben
|
|
}
|