Maison >interface Web >js tutoriel >Explication détaillée des différentes manières de convertir des nombres en chaînes en js

Explication détaillée des différentes manières de convertir des nombres en chaînes en js

韦小宝
韦小宝original
2018-03-07 13:42:351450parcourir

La valeur obtenue lorsque js lit une zone de texte ou d'autres données de formulaire est de type string Lorsque nous devons utiliser d'autres types de données, nous devons utiliser dataConversion de type. , aujourd'hui, nous allons parler de différentes méthodes de conversion de chaînes en nombres en js !

La valeur obtenue lorsque js lit une zone de texte ou d'autres données de formulaire est de type chaîne, comme deux zones de texte a et b. Supposons que 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 trouvé un article sur la conversion de chaînes js en nombres sur Internet, et celui-ci est plus complet

. Méthode Il existe principalement trois types de fonctions de conversion

, la conversion de type forcée et la 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. Ces deux fonctions ne peuvent être exécutées correctement que si ces méthodes sont appelées sur le type String ; NaN (Not a Number) est renvoyé pour les autres types.

Quelques exemples sont les suivants :

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 base, qui peut convertir des chaînes binaires, octales, hexadécimales ou autres de n'importe quelle base en un entier. . La base est spécifiée par le deuxième paramètre de la méthode parseInt(), par exemple :

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

En supposant que les nombres décimaux incluent des 0 non significatifs, il est préférable d'utiliser la base 10 afin de ne pas obtenir accidentellement Octal valeur. Par exemple :

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

La méthode parseFloat() est similaire à 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 de démonstration utilisant la méthode parseFloat() :

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 transtypage pour gérer la conversion du type d'une valeur. Utilisez des transtypages pour accéder à une valeur spécifique même si elle a un autre type.

Les trois types de conversions de type forcées disponibles dans ECMAScript sont les suivantes :

1. Booléen (valeur) - Convertissez la valeur donnée en type booléen

2. valeur donnée en nombre (peut être un nombre entier ou un nombre à virgule flottante) ;
3. 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, un nombre non nul ou un objet avec au moins un caractère (cela sera abordé dans la section suivante). En supposant que la valeur est une chaîne vide, le nombre 0, non défini ou nul, elle renverra faux. Vous pouvez tester la conversion de type booléen avec l'extrait de code 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
La coercition de Number() est similaire aux méthodes parseInt() et parseFloat(), sauf qu'elle convertit la valeur entière au lieu d'une partie de la valeur. L'exemple est le suivant :

//用  法  // 结  果
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 cast, String(), est la plus simple, l'exemple est le suivant :

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error

3 .Utilisez une conversion de type faible des variables js

Un petit exemple le montrera clairement en un coup d'œil.

<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 effectue uniquement des opérations arithmétiques pour réaliser la conversion de type de chaîne en nombre. Cependant, cette méthode n'est pas recommandée

Articles connexes recommandés :

Comment convertir des fichiers hexadécimaux entre eux entre des chaînes Js

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