validar validacion vacios formularios formulario enviar ejemplos ejemplo crear con campos antes javascript html input numbers add

validacion - validar formulario javascript html5



JavaScript: no se pueden agregar 2 nĂºmeros correctamente (4)

Estoy simulando una calculadora usando Javascript.

Donde un usuario puede ingresar 2 números en un cuadro de texto dado, y mostrará suma, producto, diferencia y división.

Aquí está mi función-

function calculate(num1, num2) { console.log("First Number = " + num1 + " Second Number = " + num2); console.log("Sum = " + (num1 + num2)); console.log("Product =" + (num1 * num2)); console.log("Difference = " + (num1 - num2)); console.log("Division = " + (num1 / num2)); }

Cuando el usuario ingresa el primer número 4 y el segundo número 3 obtengo este resultado:

First Number = 4 Second Number = 3 Sum = 43 // sum should be 7 NOT 43 Product = 12 Difference = 1 Division = 1.3333333333333333

¿Alguna idea de lo que está mal aquí?


Al menos una de tus entradas para calcular () es cadena. + se define para la cadena, así que conviértase en 43. Si bien * / - no están definidos para la cadena y Javascript "ingeniosamente", conviértanlos a int.


Si está tomando los números en un cuadro de texto, se los trata como cadenas, por lo que el operador + realizará la concatenación de cadenas. El operador * no significa nada en relación con las cadenas, por lo que el motor de JavaScript intentará interpretar las entradas como números.

Puede usar parseInt en las entradas para convertirlas en números o usar el tipo de entrada de number html.


Porque + también es un Concatinater de cadenas en JavaScript. use parseInt (var1) + parseInt (var2) funcionará. también eche un vistazo a ---> Operadores de Javascript

para entender el operador +. Gracias


tratar

console.log("Sum = " + (parseInt(num1) + parseInt(num2)));

o

console.log("Sum = " + (0 + num1 + num2));

también asegúrese de llamar a la función como

calculate(4, 3);

y no

calculate(''4'', ''3'');