|
Не корректно работает формула при выводе
При проверке результата выдаёт 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, время: 09:25. |
|