Скрипт калькулятора ипотечного рефинансирования (PHP, JS)
←
Скрипты калькуляторов
Пример работы калькулятора рефинансирования ипотеки можно посмотреть здесь
здесь
Скачать архив
Файл refinancing-hypothec.php
Калькулятор рефинансирования ипотеки
Остаток долга по ипотеке
Параметры текущей ипотеки
Остаток срока
месяцев
лет
Текущая ставка, %
Текущий вид платежа
аннуитетный
дифференцированный
Показывать график платежей
Параметры рефинансирования ипотеки
Новый срок
месяцев
лет
Новая ставка, %
Расходы на переоформление
Новый вид платежа
аннуитетный
дифференцированный
Показывать график платежей
Рассчитать
Источник
Файл ajax_refinancing-hypothec.php
function okr($a) { return number_format(abs($a), 2, ',', ' '); } function okr0($a) { return number_format(abs($a), 0, ',', ' '); } function do_c($a) { $a = preg_replace('/[^0-9,\.]/u', '', $a); $a = str_replace(',','.',$a); $a = floatval($a); return $a; } function m_an ($sum, $proc, $srok, $dop=0) { $all_summa_platega = 0; $all_osn_dolg = 0; $all_nach_procent = 0; $p = $proc/100/12; $koef = $p * pow((1+$p),$srok) / (pow((1+$p), $srok) - 1); ob_start(); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo 'Дата'; echo '
'; echo '
'; echo '
'; echo 'Сумма платежа'; echo '
'; echo '
'; echo '
'; echo 'Основной долг'; echo '
'; echo '
'; echo '
'; echo 'Начисленные проценты'; echo '
'; echo '
'; echo '
'; echo 'Остаток задолженности'; echo '
'; echo '
'; for($i=1; $i<=$srok; $i++) { echo '
'; if(!$ostatok) $ostatok = $sum; $summa_platega = $koef*$sum; $nach_procent = $ostatok*$proc/12/100; $osn_dolg = $summa_platega - $nach_procent; $ostatok = $ostatok - $osn_dolg; $all_summa_platega = $all_summa_platega + $summa_platega; $all_osn_dolg = $all_osn_dolg + $osn_dolg; $all_nach_procent = $all_nach_procent + $nach_procent; echo '
'; echo $i.'-й месяц'; echo '
'; echo '
'; echo okr($summa_platega); echo '
'; echo '
'; echo okr($osn_dolg); echo '
'; echo '
'; echo okr($nach_procent); echo '
'; echo '
'; echo okr($ostatok); echo '
'; echo '
'; } echo '
'; echo '
'; echo '
Всего:
'; echo '
'; echo '
'; echo '
'.okr($all_summa_platega).'
'; echo '
'; echo '
'; echo '
'.okr($all_osn_dolg).'
'; echo '
'; echo '
'; echo '
'.okr($all_nach_procent).'
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; $buf = ob_get_contents(); ob_end_clean(); $all = $all_summa_platega+$dop; $arr['table'] = $buf; $arr['all'] = $all; $arr['dop'] = $dop; $arr['all_nach_procent'] = $all_nach_procent; $arr['all_summa_platega'] = $all_summa_platega; $arr['month_payment'] = okr($all_summa_platega/$srok); $arr['body'] = $buf; return $arr; } function m_diff ($sum, $proc, $srok, $dop=0) { $all_summa_platega = 0; $all_osn_dolg = 0; $all_nach_procent = 0; $osn_dolg = $sum/$srok; $arr_sum = array(); ob_start(); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo 'Дата'; echo '
'; echo '
'; echo '
'; echo 'Сумма платежа'; echo '
'; echo '
'; echo '
'; echo 'Основной долг'; echo '
'; echo '
'; echo '
'; echo 'Начисленные проценты'; echo '
'; echo '
'; echo '
'; echo 'Остаток задолженности'; echo '
'; echo '
'; for($i=1; $i<=$srok; $i++) { echo '
'; if(!$ostatok) $ostatok = $sum; $nach_procent = $ostatok*$proc/12/100; $summa_platega = $nach_procent+$osn_dolg; $ostatok = $sum - $osn_dolg*$i; $all_summa_platega = $all_summa_platega + $summa_platega; $all_osn_dolg = $all_osn_dolg + $osn_dolg; $all_nach_procent = $all_nach_procent + $nach_procent; $arr_sum[] = $summa_platega; echo '
'; echo $i.'-й месяц'; echo '
'; echo '
'; echo okr($summa_platega); echo '
'; echo '
'; echo okr($osn_dolg); echo '
'; echo '
'; echo okr($nach_procent); echo '
'; echo '
'; echo okr($ostatok); echo '
'; echo '
'; } echo '
'; echo '
'; echo '
Всего:
'; echo '
'; echo '
'; echo '
'.okr($all_summa_platega).'
'; echo '
'; echo '
'; echo '
'.okr($all_osn_dolg).'
'; echo '
'; echo '
'; echo '
'.okr($all_nach_procent).'
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; $buf = ob_get_contents(); ob_end_clean(); $all = $all_summa_platega+$dop; $arr['table'] = $buf; $arr['all'] = $all; $arr['dop'] = $dop; $arr['all_nach_procent'] = $all_nach_procent; $arr['all_summa_platega'] = $all_summa_platega; $arr['month_payment'] = okr(max($arr_sum)).' ... '.okr(min($arr_sum)); $arr['body'] = $buf; return $arr; } $sum = do_c($_POST['sum']); $proc = do_c($_POST['proc']); $period = intval($_POST['period']); if($period == 1) $srok = abs(intval($_POST['srok'])); elseif($period == 2) $srok = abs(12*intval($_POST['srok'])); $vid = intval($_POST['vid']); $dop_ref = do_c($_POST['dop_ref']); $proc_ref = do_c($_POST['proc_ref']); $period_ref = intval($_POST['period_ref']); if($period_ref == 1) $srok_ref = abs(intval($_POST['srok_ref'])); elseif($period_ref == 2) $srok_ref = abs(12*intval($_POST['srok_ref'])); $vid_ref = intval($_POST['vid_ref']); if(!$sum) $err .= 'Не указан остаток долга
'; if(!$srok) $err .= 'Не указан остаток срока
'; if(!$proc) $err .= 'Не указана текущая процентная ставка
'; if($sum > 100000000) $err .= 'Слишком большой остаток долга
'; if($srok > 600) $err .= 'Слишком большой остаток срока
'; if($proc > 1000) $err .= 'Слишком большая текущая процентная ставка
'; if(!$srok_ref) $err .= 'Не указан новый срок
'; if(!$proc_ref) $err .= 'Не указана новая процентная ставка
'; if($dop_ref > 10000000) $err .= 'Слишком большие расходы на переоформление
'; if($srok_ref > 600) $err .= 'Слишком большой новый срок
'; if($proc_ref > 1000) $err .= 'Слишком большая новая процентная ставка
'; if($err) echo $err; else { if($vid==1) { echo '
Текущая ипотека
'; $arr = m_an ($sum, $proc, $srok); } elseif($vid==2) { echo '
Текущая ипотека
'; $arr = m_diff ($sum, $proc, $srok); } echo '
Проценты за кредит:
'.okr($arr['all_nach_procent']).'
'; echo '
Ежемесячный платеж:
'.$arr['month_payment'].'
'; echo '
Общая сумма:
'.okr($arr['all']).'
'; if($_POST['graf1']) echo $arr['body']; if($vid_ref==1) { echo '
Рефинансирование ипотеки
'; $arr2 = m_an ($sum, $proc_ref, $srok_ref, $dop_ref); } elseif($vid_ref==2) { echo '
Рефинансирование ипотеки
'; $arr2 = m_diff ($sum, $proc_ref, $srok_ref, $dop_ref); } echo '
Проценты за кредит:
'.okr($arr2['all_nach_procent']).' '; if($arr2['all_nach_procent'] < $arr['all_nach_procent']) echo '
(- '.okr(($arr['all_nach_procent']-$arr2['all_nach_procent'])).')
'; else echo '
(+ '.okr(($arr2['all_nach_procent']-$arr['all_nach_procent'])).')
'; echo '
'; echo '
Ежемесячный платеж:
'.$arr2['month_payment'].'
'; if($arr2['dop']) echo '
Переоформление:
+ '.okr($arr2['dop']).'
'; echo '
Общая сумма:
'.okr($arr2['all']).' '; if($arr2['all'] < $arr['all']) echo '
(- '.okr(($arr['all']-$arr2['all'])).')
'; else echo '
(+ '.okr(($arr2['all']-$arr['all'])).')
'; echo '
'; if($_POST['graf2']) echo $arr2['body']; } ?>
Поделитесь информацией с друзьями
Скачать перечень калькуляторов
Другие скрипты
Сайт "Ваш онлайн"