Консультация о функции кредитного калькулятора - PullRequest
2 голосов
/ 06 апреля 2020

Я пытаюсь сделать кредитный калькулятор, в котором вы можете ввести сумму, которую хотите занять, количество месяцев, которые вы планируете заплатить, и выбрать тип кредита (автомобиль, учеба, дом и т. Д. c). ), который определяет процентную ставку каждого.

В JavaScript я назвал значения из Сумма кредита - Месяцев до выплаты - раскрывающийся список с Тип кредитов , что обеспечивает различные значения процентов. Я пытаюсь обойти эту формулу и написать ее в виде текста:

p*(r*(1+r)^n/1-(1+r)^n);

Прав ли я с формулой, которую я использую, чтобы получить фиксированный ежемесячный платеж - я прав? написание формулы в текстовом / кодовом виде? Я также делаю вывод следующим образом:

document.getElementById("id-name").innerHTML = p*(r*(1+r)^n/1-(1+r)^n);

Это правильный способ сделать это или я должен сделать формулу в другом var z и вызвать innerHTML = z ?? Наконец, это будет полная функция JS с входными переменными:

function CALCULADORA() {
 var x = document.getElementById("list").value;
 var i = x/100;
 var c = document.getElementById("cuotas").value;
 var y =  document.getElementById("valor").value;
 document.getElementById("CALCULATOR").innerHTML =  y*(x*(1+x)^c/1-(1+x)^c);
}

/*
x is Interest rate in percentage given by a dropdown list
i is Percentage / 100
c is Months to pay loan
y is Loan value 
*/

Проблема в том, что, не получив полную формулу, мой результат - только значение Ссуды, разделенное на месяцы, которые должны быть выплачены - это то, что мне показали Благодаря любой помощи вы можете оказать мне! Это один из моих первых кодов.

1 Ответ

0 голосов
/ 06 апреля 2020

Убедитесь, что вы конвертируете эти значения в числа, прежде чем пытаться вычислить их. Конкретно при добавлении. Что-то вроде 1+x не даст вам того, что вы ожидаете, когда x - это строка типа 0.2.

Предполагая, что эти значения могут быть десятичными, вам нужно будет сделать что-то вроде:

 var x = parseFloat(document.getElementById("list").value);
 var i = x/100;
 var c =  parseFloat(document.getElementById("cuotas").value);
 var y =  parseFloat(document.getElementById("valor").value);
...