Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Способ расчета даты окончания денежных средств на счете

Сергей Федоренко Знаток (290), на голосовании 4 года назад
Добрый день. Существует ли простой способ расчета даты окончания денежных средств на счете клиента, при следующих известных данных:
1. Остаток на сегодняшнее число
2. Размер ежемесячных списаний со счета.
3. В рамках неполного месяца обслуживания вычисляется стоимость одного дня и умножается на кол-во дней обслуживания.

Всю голову сломал.
Голосование за лучший ответ
Краб Буржуйский Мыслитель (5063) 4 года назад
Остаток делится на сумму в месяц. Получается количество полных месяцев + неполный. Последний месяц вычисляется до дня по остатку суммы.
Ну это я так, прикинул, если правильно понял вопрос.
Сергей ФедоренкоЗнаток (290) 4 года назад
Спасибо. Это понятно, способ уже изученный, очень много подводных камней.
Например округления, из-за которых суммы остатка может не хватать на несколько копеек до очередного дня. Или месяц может быть предпоследний а за ним еще последний, потому что остатка хватит например на 3 последних дня одного месяца и 5 дней следующего (и в этих месяцах разная стоимость дней). По этому пути я уже походил. Вот думаю, вдруг есть способ проще.
Краб Буржуйский Мыслитель (5063) Сергей Федоренко, Погодите. Давайте на примере. Мы внесли 10452уе, сегодня 4 февраля (високосный год). Выплата в месяц составляет 1500уе. Вычисляем остаток. 29-4 = 25(как раз 4е не входит, т. к. день старта). Стоимость - простая пропорция, 86.2(мб до целых) от 1500 = 1293. Т. е. 1 марта будет 9159уе. 9159/1500 = 6 месяцев + копейки. 6 месяцев - это 9000уе. Март + 6 месяцев - это август. В итоге суммы хватит до 1 сентября. Далее 9159-9000=159. В сентябре 30 дней. Опять же пропорция, где 30 дней - 1500уе, а 159 уе - это 3.18 Т. е. 3 дня. Остаток не учитывается, т. к. этого остатка уже не хватит для оплаты следующего дня. Я думаю, это можно упаковать в довольно удобный формат. Не сложные вычисления.
Краб БуржуйскийМыслитель (5063) 4 года назад
Если это важно, остаток будет 67,72
Сергей Федоренко Знаток (290) Краб Буржуйский, Вот вам пример расчета и полная картина: По факту клиент оплатил сразу за год. Соответственно исходя из даты начала обслуживания 08.02.2020 делаем вывод, что платежа равного годовой абонплате (30000) хватит до 07.02.2021. У меня и у вас получается, что 07.02.2021 он уже должен платить
Похожие вопросы