Maison  >  Article  >  interface Web  >  Introduction à trois méthodes de conversion de chaînes en nombres en JavaScript

Introduction à trois méthodes de conversion de chaînes en nombres en JavaScript

黄舟
黄舟original
2017-12-06 09:53:092711parcourir

Dans notre processus de développement quotidien, quel que soit le langage que nous développons, nous serons confrontés au besoin de convertir des chaînes en nombres. Je pense que de nombreux amis connaissent de nombreuses façons d'y parvenir, nous le ferons donc aujourd'hui. vous donne une introduction détaillée aux trois méthodes de JavaScript pour convertir des chaînes en nombres !

Lorsque js lit une zone de texte ou d'autres données de formulaire, la valeur obtenue est de type chaîne. Par exemple, il y a deux zones de texte a et b si la valeur de a est 11 et la valeur de b est. 9, alors a.value devrait être plus petit que b.value, car ils sont tous deux sous forme de chaînes. J'ai recherché des articles sur la conversion de chaînes js en nombres sur Internet. Il s'agit d'un

Là. Il existe trois méthodes principales

fonction de conversion, conversion de type forcée et conversion de type faible utilisant des variables js.

1. Fonction de conversion :

js fournit deux fonctions de conversion : parseInt() et parseFloat(). Le premier convertit la valeur en un entier et le second convertit la valeur en un nombre à virgule flottante. Ce n'est qu'en appelant ces méthodes sur le type String que ces deux fonctions peuvent s'exécuter correctement pour les autres types, NaN (Not a Number) est renvoyé.

Quelques exemples sont les suivants :

Le code est le suivant :

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

La méthode parseInt() a également un mode de base, qui peut convertir des binaires, des octaux , hexadécimal ou tout autre Convertir une chaîne hexadécimale en entier. La base est spécifiée par le deuxième paramètre de la méthode parseInt(), un exemple est le suivant :

Le code est le suivant :

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

Si le nombre décimal contient 0 en tête, alors il est préférable d'utiliser la base 10, de cette façon vous n'obtiendrez pas accidentellement une valeur octale. Par exemple :

Le code est le suivant :

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

La méthode parseFloat() est traitée de la même manière que la méthode parseInt().
Une autre différence dans l'utilisation de la méthode parseFloat() est que la chaîne doit représenter un nombre à virgule flottante sous forme décimale et que parseFloat() n'a pas de mode de base.

Ce qui suit est un exemple d'utilisation de la méthode parseFloat() :

Le code est le suivant :

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

Conversion de type forcée

Vous pouvez également utiliser le type forcé pour convertir le type d'une valeur. Utilisez un transtypage pour accéder à une valeur spécifique, même si elle est d'un autre type.

Les trois types de conversions disponibles dans ECMAScript sont les suivants :
Boolean(value) - Convertit la valeur donnée en type booléen
Number(value) - Convertit la valeur donnée en nombre (peut être un nombre entier ou nombre à virgule flottante);
String(value) - Convertit la valeur donnée en chaîne.
La conversion d'une valeur à l'aide de l'une de ces trois fonctions créera une nouvelle valeur qui stocke la valeur directement convertie à partir de la valeur d'origine. Cela peut avoir des conséquences inattendues.
La fonction Boolean() renvoie true lorsque la valeur à convertir est une chaîne d'au moins un caractère, un nombre non nul ou un
objet (ceci est abordé dans la section suivante). Si la valeur est une chaîne vide, le nombre 0, non défini ou null, elle renvoie false.

Vous pouvez utiliser l'extrait de code suivant pour tester la conversion de type booléen.

Le code est le suivant :

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Le cast de Number() est similaire aux méthodes parseInt() et parseFloat(), sauf qu'il convertit la valeur entière plutôt qu'une partie de sa valeur. L'exemple est le suivant :

Le code est le suivant :

Résultats d'utilisation


Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
La dernière méthode de transtypage, String(), est la plus simple , et l'exemple est le suivant :

Le code est le suivant :

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error
3. Utilisez la conversion de type faible des variables js

Donnez un petit exemple, vous. Je le comprendrai d'un coup d'œil.

Le code est le suivant :

<script>
var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;
</script>
L'exemple ci-dessus profite des caractéristiques de type faibles de js et n'effectue que des opérations arithmétiques pour obtenir une conversion de type de chaîne en nombre. Cependant, cela. La méthode ne fonctionne toujours pas Recommandé

Résumé :

Cet article vous présente en détail les trois méthodes de conversion de chaînes en nombres en JavaScript via exemples de code. Il existe différentes méthodes. Vous pouvez choisir celle qui vous convient en fonction de vos propres besoins.

Recommandations associées :

Méthodes d'implémentation pour convertir des chaînes js en nombres et des nombres en chaînes

JavaScript Advanced (4) Conversion de chaînes js en nombres

Statistiques PHP Caractères chinois Longueur de la chaîne Convertir la chaîne au numéro

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