Maison >interface Web >js tutoriel >Explication détaillée des différentes manières de convertir des nombres en chaînes en js
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 :
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 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 – objectLa 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) //100La 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= '012.345 '; 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 :
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!