Maison >interface Web >js tutoriel >Conseil rapide: comment convertir une chaîne en un nombre en javascript

Conseil rapide: comment convertir une chaîne en un nombre en javascript

Christopher Nolan
Christopher Nolanoriginal
2025-02-09 10:30:14779parcourir

Quick Tip: How to Convert a String to a Number in JavaScript

Points de base

  • JavaScript fournit une variété de façons de convertir les chaînes en nombres, y compris les fonctions 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.
  • Lors de la conversion de chaînes en nombres, il est crucial de gérer les caractères non nucères. Si la chaîne contient des caractères autres que les nombres, la fonction 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.
  • Assurez-vous de noter que le résultat de retour peut être nan. Pour vérifier si la valeur est NAN, vous pouvez utiliser la fonction globale 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.

Convertir la chaîne en numéro en utilisant Number()

Le moyen le plus direct de convertir les chaînes en nombres en JavaScript est d'utiliser le constructeur

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

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)]

Notez que si vous transmettez une chaîne non numérique à un nombre, NAN sera retourné.

Convertir les chaînes en nombres en utilisant

et parseInt() parseFloat() Une autre façon est d'utiliser

et

. 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 de

parseInt()

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()

S'il n'y a pas un tel deuxième paramètre,

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

Ainsi, par exemple, si vous appelez

, 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")

pour éviter toute confusion, spécifiez toujours la cardinalité lors de l'utilisation de

. parseInt()

Convertir la chaîne en numéro à l'aide d'un signe One-Yuan plus

La troisième façon de convertir une chaîne en nombre est d'utiliser le signe One-Yuan Plus (). Si l'opérande est utilisé avant le signe Unary Plus, il essaiera de le convertir en nombre. Ainsi, si l'opérande est une chaîne contenant un nombre, le signe unary plus le convertira en un nombre.

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

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)]

Comment gérer les caractères non nucères dans les chaînes

Assurez-vous de considérer le cas où les chaînes peuvent contenir des caractères autres que les nombres, et comment chaque approche traite de cette situation.

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()

En revanche, si le nombre est au début de la chaîne,

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()

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)]

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.

Conclusion

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:

  • Apprenez à utiliser la programmation JavaScript
  • comment apprendre JavaScript rapidement: six conseils de réflexion simples (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • 25 compétences en codage d'abréviation JavaScript (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • ES6 Pratique pratique: nouvelle méthode numérique (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • ES6 Pratique pratique: nouvelle méthode de chaîne - String.prototype. * (Https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)
  • Vaux et fausses valeurs: tout dans JavaScript n'est pas égal (https://www.php.cn/link/a1d41c14c1d0aa9b9cc1e228d962fe42)

FAQ sur la conversion des chaînes en nombres en javascript

Quelles sont les différentes façons de convertir les chaînes en nombres en JavaScript?

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.

Quelle est la différence entre

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.

Comment utiliser l'opérateur UNARY Plus Sign () pour convertir une chaîne en un nombre en JavaScript?

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é.

Que se passe-t-il si j'essaie de convertir une chaîne non numérique en un nombre en JavaScript?

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.

Comment vérifier si la conversion de la chaîne en nombre en JavaScript réussit?

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.

Puis-je convertir une chaîne en un nombre en JavaScript sans utiliser de fonctions intégrées?

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.

Comment convertir une chaîne en un entier en javascript?

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é.

Comment convertir une chaîne en un numéro de point flottant dans JavaScript?

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é.

Quelle est la meilleure façon de convertir une chaîne en un nombre en JavaScript?

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!

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