flutter_application_1/lib/calculator.dart

36 lines
1.9 KiB
Dart
Raw Permalink Normal View History

2024-05-24 14:04:26 +02:00
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
}