#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 Ага! Это просто ограничивает значения, позволяя вводить только числа, но значения по-прежнему являются строками и должны быть преобразованы в числовой тип для выполнения с ними математических операций. Это немного странно, да?