Спецпроекты

LoanPlan

Графики платежей по кредиту в целых копейках: аннуитет, дифференцированный, только проценты, три базиса дней и досрочные погашения. Последний платёж без хвоста от округления.

Тип
Библиотека расчётов
Стек
C++ · CLI
Код
Открыт на GitHub
Год
2026

Счётная машина графика

Столбик монет — остаток долга. Каждый поворот рукоятки печатает строку: проценты, тело и новый остаток. Последняя строка обнуляет столбик ровно, без хвоста.

LOANPLAN
Печатающая головка и свежая строка — за ними и следитеСтолбик монет — остаток долга, одна монета — 5 000 ₽Лента: в строке проценты, тело и остаток; ромб на краю — досрочный платёжНастольная модель расчётов из LoanPlan — библиотеки на C++ с CLI, которая считает графики платежей по кредиту. Суммы хранятся целыми копейками, проценты считаются целочисленно и округляются один раз за период. Здесь кредит 250 000,00 ₽ на 24 месяца под 14,5 % годовых, аннуитет; проценты за месяц — остаток × 14,5 % ÷ 12, половина копейки округляется вверх (в библиотеке к этому добавлены три базиса дней: Actual/365, Actual/360 и 30E/360). Платёж — наименьшая сумма в целых копейках, которая гасит кредит в срок: её находит двоичный поиск по тому же расчёту, что печатает ленту. Каждый оборот рукоятки — один месяц: головка печатает проценты, тело и остаток, а столбик монет (5 000 ₽ каждая) убывает. Досрочный платёж на 40 000,00 ₽ снимает сразу целый столбик монет, и в этой модели платёж пересчитывается на оставшийся срок. Последняя строка обнуляет остаток ровно, без хвоста от округления.

Деньги без дробей

Суммы хранятся целыми копейками, проценты считаются целочисленно и округляются один раз за период. Аннуитетный платёж — наименьшая сумма в целых копейках, которая гасит кредит в срок: её находит двоичный поиск по тому же расчёту, что печатает таблицу.

Инварианты

Остаток на начало месяца равен остатку на конец прошлого, последний остаток равен нулю, а сумма погашенного тела и досрочных платежей равна выданному кредиту. Дата 31 января переходит в 29 февраля и обратно в 31 марта.

Технически

  • Аннуитет, дифференцированный и «только проценты».
  • Базисы Actual/365, Actual/360 и 30E/360.
  • Досрочные погашения и фиксированная комиссия.
  • От 1 до 1 200 месяцев, вход и выход в JSON.
  • Целочисленная арифметика без float.
Код на GitHub

Обсудим ваш проект?

Обсудить проект