Вычислительный интерес

#javascript #math

#javascript #математика

Вопрос:

Я начал изучать javascript в прошлые выходные, я начал с основ, и теперь я в арифметике. Я пытался вычислить интерес, но мой код ничего не делает. Я не уверен, в чем ошибка, пожалуйста, помогите мне с этим. Спасибо!

Я пытался найти некоторые коды, которые имеют отношение к моей проблеме, но это было так трудно понять.

     var amount = document.getElementById('amount').value;
    var interest_rate = document.getElementById('interest_rate').value;
    var days = document.getElementById('days').value;
    var principal = amount;
    var interest = (interest_rate * .01);
    var payment = ((amount * interest) * days   principal) .toFixed(2);
  

Я хотел отобразить сумму платежа, вот и все. Спасибо! 🙂

Комментарии:

1. Что именно не так? Какую ошибку вы увидели?

2. предполагая, что процентная ставка годовая, вы захотите разделить дни на 365 (не учитывая суммирование, иначе вам понадобится P (1 r / n) ^ (nt)

3. У вас есть пробел между ) и .toFixed(2); Также вы не показываете никакого оператора вывода, такого как window . оповещение (платеж); или document.write(платеж);

Ответ №1:

Входные значения представляют собой строки. Вам нужно преобразовать их в число, чтобы выполнять математические операции, используя parseFloat для чисел с десятичными дробями или parseInt для целых чисел.

(Я догадался, какие из них являются целыми числами, а какие десятичными.)

 var amount = parseFloat(document.getElementById('amount').value);
var interest_rate = parseFloat(document.getElementById('interest_rate').value);
var days = parseInt(document.getElementById('days').value);
var principal = amount;
var interest = (interest_rate * .01);
var payment = ((amount * interest) * days   principal) .toFixed(2);
  

Просто, чтобы вы знали, toFixed() вернет строку. Он хорош для отображения пользователю, но не пытайтесь делать с ним какие-либо вычисления.

Комментарии:

1. Я использовал <тип ввода= «число»> в теле, нужно ли мне также иметь parseFloat в js?

2. @Civ Ага! Это просто ограничивает значения, позволяя вводить только числа, но значения по-прежнему являются строками и должны быть преобразованы в числовой тип для выполнения с ними математических операций. Это немного странно, да?