En JavaScript, vous pouvez convertir les valeurs de chaîne en nombres via les 3 méthodes suivantes :
1. Appelez Number() pour effectuer une conversion de type de valeur sur une chaîne.
2.parseInt().
3.parseFloat().
Numéro()
Utiliser la fonction Number() pour convertir une chaîne est le moyen le plus direct. Cependant, cette approche a une limite : si la chaîne n'est pas une chaîne numérique pure après avoir tronqué les caractères d'espacement de début et de fin, le résultat final renvoyé sera NaN. JavaScript - The Definitive Guide 6e édition, section 3.8.2 de David Flanagan mentionne que lors de l'utilisation de la fonction Number() pour la conversion chaîne en nombre, la fonction n'accepte que les chaînes décimales, mais les résultats des tests montrent que ce n'est pas le cas. La fonction Number() peut accepter "0xff" comme paramètre et le convertir à la valeur 255.
console.log(Numéro(a));//42
console.log(Nombre(b));//NaN
console.log(Nombre(c));//255
console.log(Nombre(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 des chaînes numériques pures, mais également analyser des chaînes numériques partielles commençant par des nombres (non numériques). ). Certaines chaînes seront supprimées lors du processus de conversion). Il convient de noter que lorsque la fonction parseInt() analyse une chaîne à virgule flottante, la méthode utilisée pour l'opération d'arrondi est "tronquer".
En plus de la chaîne comme premier paramètre, la fonction parseInt() peut également accepter n'importe quel entier compris entre 2 et 36 comme deuxième paramètre, qui est utilisé pour spécifier le numéro de base pendant le processus de conversion.
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 une partie de la chaîne numérique commençant par un nombre (la partie non numérique de la chaîne sera supprimée lors du processus de conversion). Contrairement à parseInt(), parseFloat() peut convertir une chaîne en nombre à virgule flottante ; mais en même temps, parseFloat() n'accepte qu'un seul paramètre et ne peut gérer que des chaînes décimales.
console.log(parseFloat(c));//0, car "0xff" commence par 0
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1