Maison >interface Web >js tutoriel >Conseil rapide: comment convertir une chaîne en un nombre en javascript
Points de base
Number()
, les fonctions parseInt()
et parseFloat()
, et l'opérateur unary plus signe (). Chaque méthode a son propre objectif et peut être utilisée en fonction des exigences spécifiques du code. Number()
renvoie NAN, tandis que les fonctions parseInt()
et parseFloat()
analysent la chaîne si le nombre est au début de la chaîne et jetez les caractères restants. isNaN()
. JavaScript fournit une variété de méthodes de conversion de type de données. Nous avons déjà couvert comment convertir les nombres en chaînes. Dans ce court tutoriel, nous expliquerons comment convertir les chaînes en nombres en JavaScript.
Dans de nombreux cas, les nombres peuvent être stockés sous forme de cordes. Par exemple, la valeur reçue d'un élément de formulaire est toujours une chaîne.
Habituellement, vous pouvez traiter les chaînes JavaScript contenant des nombres (et uniquement des nombres) comme des nombres, et JavaScript effectuera automatiquement la conversion de chaîne à nombre. Cependant, vous devez parfois extraire les nombres des chaînes, ou avoir plus de contrôle sur la façon dont vous vous convertiz.
Dans cette astuce rapide, nous présenterons trois façons de convertir les chaînes en nombres.
Number()
intégré. Par exemple: Number
<code class="language-javascript">const str = "10"; console.log(str); // "10" console.log(typeof str); // "string" const number = Number(str); console.log(number); // 10 console.log(typeof number); // "number"</code>Lors de l'enregistrement de la valeur et de son type de
dans la console, les résultats sont respectivement de 10 et des cordes en tant que chaînes. Après la conversion, les résultats sont respectivement de 10 nombres et chiffres. str
[Codepen Demo Link (s'il vous plaît https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)]
Notez que si vous transmettez une chaîne non numérique à un nombre, NAN sera retourné.
Convertir les chaînes en nombres en utilisant
parseInt()
parseFloat()
Une autre façon est d'utiliser . Comme son nom l'indique, parseInt()
analyse une chaîne dans un entier, tandis que parseFloat()
analyse une chaîne en un nombre avec un point décimal. parseInt()
parseFloat()
Exemple:
similaire à la première méthode, lors de l'enregistrement de la valeur et de son type de
<code class="language-javascript">const str = "10.9"; console.log(str); // "10.9" console.log(typeof str); // "string" const intNumber = parseInt(str); console.log(intNumber); // 10 console.log(typeof intNumber); // "number" const floatNumber = parseFloat(str); console.log(floatNumber); // 10.9 console.log(typeof floatNumber); // "number"</code>dans la console, les résultats sont respectivement de 10,9 et des chaînes comme des chaînes. Cependant, lorsque l'analyse
avec str
, la valeur de parseInt
devient 10 et son type est un nombre. str
En revanche, lorsque l'analyse parseFloat
avec str
, la valeur de floatNumber
devient 10,9 (en nombre), et son type est un nombre.
Vous pouvez afficher l'exemple réel de la démonstration de codepen ci-dessous.
[Codepen Demo Link (s'il vous plaît https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)]
Le deuxième paramètre deparseInt()
accepte le deuxième paramètre qui spécifie la cardinalité du nombre à analyser à partir de la chaîne. Ce paramètre est en fait facultatif, mais il est fortement recommandé de le fournir toujours. parseInt()
effectuera une détection automatique de la cardinalité. Autrement dit, il détecte la cardinalité des nombres via le format dans la chaîne. Les nombres commençant par 0x ou 0x sont considérés comme hexadécimaux (base 16), et tous les autres nombres sont considérés comme décimaux. parseInt
, la valeur d'entrée sera traitée comme un numéro octal; mais 8 n'est pas un numéro octal (car le nombre octal est 0-7), donc la fonction reviendra zéro, pas huit. parseInt("08")
. parseInt()
Exemple:
<code class="language-javascript">const str = "10"; console.log(str); // "10" console.log(typeof str); // "string" const number = Number(str); console.log(number); // 10 console.log(typeof number); // "number"</code>Lorsque vous enregistrez le type de
, c'est une chaîne comme prévu. Cependant, lorsque vous enregistrez la valeur de str
et de son type, 10 et des chiffres sont enregistrés respectivement dans la console. str
[Codepen Demo Link (s'il vous plaît https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)]
Comment gérer les caractères non nucères dans les chaînes
Lorsque vous utilisez
, si la chaîne contient des caractères autres que les nombres, plus () et moins (-) au début, ou décimaux, la valeur de retour est la valeur spéciale NAN (non-nombre). Nan est un attribut global qui représente un non-numerique. Lorsque les opérandes ou paramètres de ces opérations ne sont pas des nombres ou ne peuvent pas être utilisés pour cette opération mathématique particulière, certaines opérations numériques le renverront. Number()
et parseInt()
analysera la chaîne. Il élimine les caractères restants et prend le numéro rencontré au début de la chaîne. Cependant, si la chaîne commence par un caractère autre qu'un nombre, un plus () et un moins (-) au début, ou un point décimal, la valeur de retour est la valeur particulière NAN (non-nombre). parseFloat()
[Codepen Demo Link (s'il vous plaît https://www.php.cn/link/A1D41C14C1D0AA9B9CC1E228D962FE42)]
Comme vous pouvez le voir, Number()
renvoie NAN car la chaîne contient PX. Cependant, parseInt()
renvoie 10 car il est au début de la chaîne.
Vous pouvez utiliser la fonction globale isNaN()
pour vérifier si la valeur est nan.
Ce court tutoriel introduit trois façons de convertir les chaînes en nombres en JavaScript. Number()
Vous pouvez convertir des chaînes en nombres, qu'ils soient des nombres de points flottants ou des entiers. Cependant, si la chaîne contient d'autres caractères, il renvoie NAN. Cela sera utile si vous souhaitez assurer une conversion stricte des chaînes.
En revanche, parseInt()
et parseFloat()
sont plus flexibles pour traiter d'autres personnages en nombre. Cependant, dans certains cas, les deux fonctions ne peuvent pas être utilisées de manière interchangeable. Par exemple, si le nombre dans la chaîne est un numéro de point flottant et que vous utilisez parseInt()
, vous obtiendrez une valeur incorrecte par rapport à la chaîne.
Bien que le signe One-Yuan Plus soit facile à utiliser, il peut réduire la lisibilité du code. Peu importe la méthode que vous choisissez, assurez-vous de noter que le résultat de retour peut être NAN.
Si vous trouvez cet article utile, vous pouvez également aimer les éléments suivants:
Il existe plusieurs façons de convertir les chaînes en nombres en JavaScript. Les méthodes les plus couramment utilisées incluent les fonctions Number()
, les fonctions parseInt()
, les fonctions parseFloat()
et les opérateurs unary Plus Sign (). Chaque méthode a son propre objectif et peut être utilisée en fonction des exigences spécifiques du code.
Number()
Comment fonctionnent les fonctions en JavaScript? La fonction Number()
dans JavaScript peut être utilisée pour convertir les chaînes en nombres. Il prend une chaîne comme argument et renvoie un nombre. Si la chaîne ne peut pas être convertie en nombre, Nan (non-nombre) est renvoyé. Par exemple, Number("1234")
reviendra 1234, tandis que Number("1234abc")
retournera NAN.
parseInt()
et parseFloat()
dans JavaScript? parseInt()
et parseFloat()
sont tous deux utilisés pour convertir les chaînes en nombres en JavaScript. La différence est le type de numérique qu'ils renvoient. parseInt()
Renvoie un entier, tandis que parseFloat()
renvoie un numéro de point flottant. Par exemple, parseInt("123.45")
retournera 123, tandis que parseFloat("123.45")
retournera 123,45.
L'opérateur unary Plus Sign () peut être utilisé pour convertir une chaîne en un nombre en JavaScript. Il est placé devant la chaîne comme suit: "1234". Cela renverra le numéro 1234. Si la chaîne ne peut pas être convertie en nombre, Nan est renvoyé.
Si vous essayez de convertir une chaîne non numérique en un nombre en JavaScript en utilisant l'une des méthodes ci-dessus, elle renverra NAN, c'est-à-dire non numerique.
Vous pouvez utiliser la fonction isNaN()
dans JavaScript pour vérifier si la conversion d'une chaîne en nombre est réussie. Si le paramètre est non-nombre (NAN), cette fonction renvoie vrai, sinon faux.
Oui, les chaînes peuvent être converties en nombres en JavaScript sans utiliser de fonctions intégrées, bien que cela soit plus complexe et ne soit pas recommandé pour les débutants. Une façon consiste à itérer sur chaque caractère de la chaîne à l'aide d'une boucle et à calculer le nombre à l'aide de la valeur ASCII du nombre.
Vous pouvez utiliser la fonction parseInt()
pour convertir une chaîne en un entier en javascript. Cette fonction prend une chaîne comme argument et renvoie un entier. Si la chaîne ne peut pas être convertie en entier, Nan est retourné.
Vous pouvez utiliser la fonction parseFloat()
pour convertir une chaîne en un numéro de point flottant en javascript. Cette fonction prend une chaîne comme argument et renvoie un numéro de point flottant. Si la chaîne ne peut pas être convertie en un numéro de point flottant, Nan est renvoyé.
La meilleure façon de convertir une chaîne en nombre en JavaScript dépend de vos exigences spécifiques. Si vous avez besoin d'entiers, utilisez parseInt()
. Si vous avez besoin de numéros de points flottants, utilisez parseFloat()
. Si vous n'êtes pas sûr, utilisez la fonction Number()
ou l'opérateur unary plus signe (), car ils peuvent gérer les entiers et les numéros de point flottants.
Veuillez noter que j'ai fait de mon mieux pour pseudo-originalité le texte d'origine et préserver le format et l'emplacement d'origine de l'image. Étant donné que je ne peux pas accéder aux sites Web externes et aux liens d'image, je ne peux pas vérifier la validité des liens d'image. Si nécessaire, veuillez fournir le fichier local de l'image.
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!