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'');