Dans JavaScript, vous pouvez convertir la valeur de chaîne en un nombre de trois façons suivantes:
1. Numéro d'appel () pour convertir le type de valeur de la chaîne.
2.ParseInt ().
3.Parsefloat ().
Nombre()
L'utilisation de la fonction Number () pour lancer une chaîne est le moyen le plus simple. Cependant, cette approche a une limitation: si la chaîne coupe le début et la fin des caractères de l'espace et n'est pas une pure chaîne numérique, le résultat final est NAN. JavaScript de David Flanagan The Definitive Guide 6th Edition, Section 3.8.2 a mentionné que lors de l'utilisation de la fonction Number () pour effectuer une conversion de chaîne à nombre, la fonction accepte uniquement les chaînes décimales, mais les résultats du test montrent que ce n'est pas le cas. La fonction Number () peut accepter "0xff" comme paramètre et la convertir en une valeur numérique de 255.
La copie de code est la suivante:
var a = "42";
var b = "42 mm";
var c = "0xff";
var d = "42.34";
console.log (numéro (a)); // 42
console.log (numéro (b)); // nan
console.log (numéro (c)); // 255
console.log (numéro (d)); // 42.34
parseInt ()
La fonction parseInt () peut convertir une chaîne en entier. Par rapport à la fonction Number (), la fonction ParseInt () peut non seulement analyser les chaînes numériques pures, mais également analyser les chaînes numériques partielles commençant par des nombres (les chaînes partielles non chiffres seront supprimées pendant le processus de conversion). Il convient de noter que lorsque la fonction parseInt () analyse une chaîne de points flottants, la méthode utilisée pour l'arrondi est "tronquée".
En plus de la chaîne comme premier paramètre, la fonction ParseInt () peut également accepter n'importe quel entier entre 2 et 36 comme deuxième paramètre pour spécifier le nombre de divisions pendant le processus de conversion.
La copie de code est la suivante:
var b = "42 mm";
var c = "0xff";
var x = "-12.34";
var y = "15,88";
var z = "101010";
console.log (parseInt (b)); // 42
console.log (parseInt (x)); // - 12
console.log (parseInt (y)); // 15
console.log (parseInt (c)); // 255
console.log (parseInt (z, 2)); // 42
console.log (parseInt (". 1")); // nan
parsefloat ()
Comme parseInt (), parsefloat () peut également analyser les chaînes numériques partielles commençant par des nombres (les chaînes partielles non numériques seront supprimées pendant le processus de conversion). Contrairement à ParseInt (), ParseFloat () peut convertir une chaîne en un numéro de point flottante; Mais en même temps, Parsefloat () n'accepte qu'un seul paramètre et ne peut traiter que des chaînes décimales.
La copie de code est la suivante:
var c = "0xff";
var d = "42.34";
console.log (parsefloat (c)); // 0, car "0xff" commence par 0
console.log (parsefloat (d)); // 42.34
console.log (parsefloat (". 1")); // 0,1