Как реализовать калькулятор на php? у меня есть скрипт, который рассчитывает кредит по аннуитету// $month_rate - месячная процентная ставка по кредиту
// $amount - сумма кредита
// $term - период кредита в месяцах
// $round - округление(0)
if($GET['scheme'] == 'ANNUITY'){
$k = ($month_rate * pow((1 + $month_rate), $term)) / ( pow((1 + $month_rate), $term) - 1 ); //Вычисляем коэффициент аннуитета:
$payment = round($k * $amount, $round); // Узнаем размер ежемесячных выплат и округляем его до заданной точности:
$overpay = ($payment * $term) - $amount; //Сумма переплаты:
$overpayPercent = $overpay/$amount*100; //Процент переплаты от всей суммы
$fullSum = $amount+$overpay; // Сумма кредита
for ($i = 1; $i = 12) { $month = 1; $year++ ; }
}
}
Как провернуть тоже самое по дифференцированному?

21 Авг 2019 в 06:06
239 +1
2
Ответы
1

Для реализации расчета по дифференцированной схеме вам нужно немного изменить ваш код. В отличие от аннуитетного платежа, где ежемесячные выплаты одинаковы, в дифференцированной схеме каждый месяц выплата состоит из части погашения основного долга и части начисленных процентов.

Пример кода для расчета кредита по дифференцированной схеме:

if($GET['scheme'] == 'DIFFERENTIATED'){
$monthly_payment = $amount / $term; // Вычисляем размер ежемесячного платежа
$debt = $amount; // Остаток долга
for ($i = 1; $i <= $term; $i++) {
$percent_pay = round($debt * $month_rate, $round); // Вычисляем часть платежа, идущую на проценты
$credit_pay = $monthly_payment - $percent_pay; // Вычисляем часть платежа, идущую на погашение основного долга
$total_payment = $credit_pay + $percent_pay; // Общая сумма ежемесячного платежа
$overpay += $percent_pay; // Сумма переплаты за весь срок кредита
array_push($arrayPayments, $total_payment);
array_push($arrayDebt, $credit_pay);
array_push($arrayPercents, $percent_pay);
array_push($arrayMonths, $day.'.'.$month_array[$month-1] . '.' . $year);
$schedule[$i] = array();
$schedule[$i]['month'] = $day.'.'.$month_array[$month-1] . '.' . $year ;
$schedule[$i]['dept'] = number_format($total_payment, $round, ',', ' ');
$schedule[$i]['percent_pay'] = number_format($percent_pay, $round, ',', ' ');
$schedule[$i]['credit_pay'] = number_format($credit_pay, $round, ',', ' ');
$debt = $debt - $credit_pay;
if($month++ >= 12) { $month = 1; $year++; }
}
}

Этот код рассчитывает ежемесячные платежи на основе дифференцированной схемы и формирует график платежей. Не забудьте также создать массивы $arrayPayments, $arrayDebt, $arrayPercents, $arrayMonths для хранения данных о платежах.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир