Показать сообщение отдельно
  #5 (permalink)  
Старый 08.09.2013, 19:26
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Я тут немного пришел в себя и понял эту магическую формулу.
Если кому нужно, вот калькулятор

Number.prototype.toCurrency = function() {
	return this.toFixed(2).replace(/(\d)(?=(\d{3})+\b)/g,'$1 ');
};

var payment = function (credit, months, rate) {
	rate /= 12 * 100;
	
	return {
		get day () {
			return this.month / 30.4;
		},
	
		get month () {
			return credit * rate / (1 - (Math.pow(1 / (1 + rate), months)));
		},
	
		get year () {
			return this.month * 12;
		},
	
		get total () {
			return this.year * (months / 12);
		},
		
		get over() {
			return this.total - credit;
		}
	};
};

var summ  = prompt('Сумма кредита:'),
    rate  = prompt('Процентная ставка по кредиту:'),
    years = prompt('На сколько лет?');

var credit = payment(+summ, years * 12, +rate);

alert([
   'Общая сумма выплат:   ' + credit.total.toCurrency(),
   'Сумма переплаты:      ' + credit.over.toCurrency(),
   'Сумма выплат в год:   ' + credit.year.toCurrency(),
   'Сумма выплат в месяц: ' + credit.month.toCurrency(),
   'Сумма выплат в день:  ' + credit.day.toCurrency()
]
.join('\n'));

Последний раз редактировалось monolithed, 28.09.2013 в 17:25.
Ответить с цитированием