Estoy tratando de hacer una resultante de 3 vectores. Pero cuando pongo un número, devuelve NaN en su lugar. ¿Alguien puede explicarlo?
var vectoro = document.getElementById("f1"); var vectortw = document.getElementById("f2"); var vectorth = document.getElementById("f3"); var d1 = document.getElementById("d1"); var d2 = document.getElementById("d2"); var d3 = document.getElementById("d3"); var hasil = document.getElementById("hasil"); function prosessatu(){ let f1 = vectoro * Math.cos(d1.value * Math.PI / 180).toFixed(2); let f2 = vectortw * Math.cos(d2.value * Math.PI / 180).toFixed(2); let f3 = vectorth * Math.cos(d3.value * Math.PI / 180).toFixed(2); let fsino = vectoro * Math.sin(d1.value * Math.PI / 180).toFixed(2); let fsintw = vectortw * Math.sin(d2.value * Math.PI / 180).toFixed(2); let fsinth = vectorth * Math.sin(d3.value * Math.PI / 180).toFixed(2); let sigmafx = Math.pow((f1 + f2 + f3), 2); let sigmafy = Math.pow((fsino + fsintw + fsinth), 2); hasil.value = Math.sqrt((sigmafx + sigmafy)) } vectoro.oninput = prosessatu; d1.oninput = prosessatu; vectortw.oninput = prosessatu; d2.oninput = prosessatu; vectorth.oninput = prosessatu; d3.oninput = prosessatu; Estoy usando <input type = "numbers">
El tipo de su entrada debe ser number , no numbers
Consulte la documentación para el tipo de entrada de número
Sin embargo, tengo entendido que el atributo de tipo solo lo usa el navegador para validar el campo. Al recuperar su valor usando javascript, obtendrá una cadena.
Entonces necesitas analizarlo, por ejemplo
var d1 = Number.parseFloat(document.getElementById("d1"));