|
Не корректно работает формула при выводе
При проверке результата выдаёт NaN :( , помогите решить проблему.
Сама формула в WebCalc 2.0 выглядит так: Sтд=Sю+Va×T3/7.2-L-C 9.3+38.5*0.25/7.2-2.52-0.838 (должно выйти в итоге 7.27) Код HTML:
<h1>Визначення Sтд</h1>
<form id="formInput3">
<div>T3
<select id="T33">
<option>0.25</option>
<option>0.4</option>
<option>0.6</option>
</select>
</div>
<div>
<label>Sj</label>
<input type="number">
</div>
<div>
<label>va</label>
<input type="number">
</div>
<div>
<label>L</label>
<input type="number">
</div>
<div>
<label>C</label>
<input type="number">
</div>
</form>
<button onclick="breakWay3()">Результат Sтд</button>
<h2 id="resultF4"></h2>
Код JS:
function breakWay3() {
const form = document.querySelector('#formInput3');
const Sj = form[1].value;
const va = form[2].value;
const L = form[3].value;
const C = form[4].value;
const t3 = Number(document.querySelector('#T33').value);
let resultF4 = Sj + va * t3 / 7.2 - L - C;
console.log(+resultF4.toFixed(2));
const result = document.querySelector('#resultF4');
result.innerText = `Результат: ${Number(resultF4.toFixed(2))}`;
}
|
Behemoth911,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Behemoth911,
строки преобразуйте в числа +form |
Behemoth911,
Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
</head>
<body>
<h1>Визначення Sтд</h1>
<form id="formInput3">
<div>T3
<select id="T33">
<option selected="selected">0.25</option>
<option>0.4</option>
<option>0.6</option>
</select>
</div>
<div>
<label>Sj</label>
<input type="number" value="9.3">
</div>
<div>
<label>va</label>
<input type="number" value="38.5">
</div>
<div>
<label>L</label>
<input type="number" value="2.52">
</div>
<div>
<label>C</label>
<input type="number" value="0.838">
</div>
</form>
<button onclick="breakWay3()">Результат Sтд</button>
<h2 id="resultF4"></h2>
<script>
function breakWay3() {
const form = document.querySelector('#formInput3');
const Sj = +form[1].value;
const va = +form[2].value;
const L = +form[3].value;
const C = +form[4].value;
const t3 = Number(document.querySelector('#T33').value);
resultF4 = Sj + va * t3 / 7.2 - L - C;
console.log(+resultF4.toFixed(2));
const result = document.querySelector('#resultF4');
result.innerText = `Результат: ${Number(resultF4.toFixed(2))}`;
}
</script>
</body>
</html>
|
Сейчас проверю)
|
Да, ошибку свою понял) Если можно буду ещё к вам обращаться?) :)
|
Behemoth911,
да))) |
рони, Спасибо) Ещё вопрос (сразу скажу, что я пока разбираюсь в JS, но знаю что мне надо написать в итоге)) - можно ли (допустим) если есть 5 формул подряд - 1 просто считается (как эта, что Вы помогли), вторая тоже, а вот в третью мне надо уже чтобы оно брало вводные с результатов 1 и 2й формулы? https://ibb.co/RDbwwr7
|
Behemoth911,
функция должна что-то возвращать и тогда будет что-то типа
function breakWay3() { ...
return result}
function breakWay4() { ...
return result}
function breakWay5() {
return breakWay3() * breakWay5() };
let x = breakWay5();
Возврат значения |
рони,
я просто тут чуть другим путем пошёл - неверным( resultF3 - из 1 формулы посщитаной resultF4 - 2 формулы посщитаной
function breakWay4() {
const form = document.querySelector('#formInput4');
console.log(form);
const t3 = Number(document.querySelector('#T3').value);
const J = Number(document.querySelector('#J4').value);
resultF5 = resultF3 - (Math.sqrt(resultF3 ** 2 - ( 2 * resultF4 ) / J + (t3 * t3) / 4));
console.log(+resultF5.toFixed(4));
const result = document.querySelector('#resultF5');
result.innerText = `Результат2: ${Number(resultF5.toFixed(4))}`;
}
и ещё надо чтоб результаты оно отобразило перед тем тех ещё формул и учло их в 3й формуле, как-то так |
| Часовой пояс GMT +3, время: 19:14. |
|