¿Por qué el número de tipo de entrada devuelve el valor de suma como cadena pero el valor de multiplicación de manera correcta? Cualquier lógica detrás de esto, por favor ilumíname
Las etiquetas <input> siempre tienen un valor de cadena. Así es como funciona. Si obliga a que la entrada sea un campo numérico, obtendrá una cadena de dígitos.
¿Por qué? Porque esto es lo que establece la especificación HTML. La mejor respuesta que te puedo dar.
Obtuve el valor del cuadro de texto y lo multipliqué y lo hice de la manera correcta, pero al sumar números como 55+10 devuelve 5510 –
Esto se debe a la coerción de tipos. Esto significa que a veces una cadena se convierte en un número para usted.
"55" + 10 // 5510 Esto sucede porque el operador + agrega una cadena a otra.
"a" + "b" // "ab"Pero cuando multiplicas
"55" * 10 // 550Una cadena multiplicada por una cadena no tiene ningún sentido, por lo que asume que tenías la intención de hacer cálculos matemáticos y los convierte en números para ti.
Cuando desee hacer cálculos a partir de campos de entrada, primero debe convertirlo en un número para asegurarse de que hace lo correcto.
parseFloat("55") + 10 // 65