Как реализовать калькулятор на 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
181 +1
1
Ответы
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 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 905 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир