Maison >interface Web >js tutoriel >Pourquoi JavaScript concatène-t-il au lieu d'ajouter des nombres et comment puis-je y remédier ?

Pourquoi JavaScript concatène-t-il au lieu d'ajouter des nombres et comment puis-je y remédier ?

DDD
DDDoriginal
2024-12-19 10:16:09782parcourir

Why Does JavaScript Concatenate Instead of Adding Numbers, and How Can I Fix It?

Concaténation au lieu d'addition : résolution des écarts de type de nombre

En JavaScript, lors de l'ajout de deux variables, vous pouvez rencontrer un résultat inattendu où les valeurs sont concaténées sous forme de chaînes au lieu d'être ajoutées sous forme de nombres. Cela se produit souvent lorsque vous récupérez des entrées à partir de formulaires utilisateur ou lorsque vous travaillez avec des valeurs initialement stockées sous forme de chaînes.

Pour résoudre ce problème, il est essentiel de s'assurer que les variables impliquées sont formatées sous forme de nombres et non de chaînes. En JavaScript, vous pouvez facilement convertir une chaîne en nombre en la préfixant d'un signe plus ( ). Ce faisant, JavaScript interprète la chaîne comme une valeur numérique, permettant un ajout approprié.

Considérez l'exemple suivant :

var y = document.getElementById("txt1").value;
var z = document.getElementById("txt2").value;
var x = +y + +z;
document.getElementById("demo").innerHTML = x;

Dans ce code, nous ajoutons le préfixe à y et z à convertissez-les en nombres. Cela garantit que les valeurs sont ajoutées numériquement, ce qui donne la somme correcte, qui est ensuite affichée dans l'élément de démonstration.

En comprenant la différence entre les chaînes et les nombres en JavaScript et en utilisant la conversion de type appropriée, vous pouvez éviter le problème de concaténation et effectuer des calculs précis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn