Estoy creando una calculadora de préstamos en la que el usuario primero debe seleccionar el tipo de cálculo que desea. Luego, después de completar el valor, el nodo de texto de la respuesta se actualiza. Pero cuando estoy multiplicando dos valores, me da NaN. He intentado registrar en la consola ambos valores por separado y ambos devuelven valores verdaderos. No sé qué estoy haciendo mal.
class Calculation{ constructor(a,b){ this.a = a; this.b = b; } multiply(a,b){ return a*b; } } document.querySelector('#cal-form').addEventListener("submit", function(e){ const loaninput = parseInt(document.querySelector('#loan_val').value); const interestinput = parseInt(document.querySelector('#interest_val').value); const cal = new Calculation; const result = cal.multiply(loaninput,interestinput); console.log(result); e.preventDefault(); });está dando el número correcto de mi lado:
class calculator{ constructor(a,b){ this.a = a this.b = b } muliply(a,b){ return a*b } } let a = new calculator() console.log(a.muliply(2,3));Cualquier número múltiplo de NaN da como resultado NaN.
Debe registrar su valor_préstamo y loan_val interest_val asegurarse de que parseInt pueda convertir estos valores en valores enteros válidos.
Creo que una de sus entradas después de parseInt devuelve NaN.
debería ser esto: const cal = new Calculation();
Ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes