Comment puis-je effectuer les opérations suivantes en JavaScript?
Concaténer «1», «2», «3» en «123»
Convertir "123" en 123
Ajouter 123 + 100 = 223
Cacher 223 dans "223"
javascript
string
numbers
user366312
la source
la source
Réponses:
Vous souhaitez vous familiariser avec
parseInt()
ettoString()
.Et utile dans votre boîte à outils sera de regarder une variable pour savoir de quel type il s'agit -
typeof
:la source
Étape (1) Concaténer «1», «2», «3» en «123»
ou
La méthode join concatène les éléments d'un tableau dans une chaîne, en plaçant le délimiteur spécifié entre les éléments. Dans ce cas, le "délimiteur" est une chaîne vide (
""
).Étape (2) Convertissez "123" en 123
Avant ECMAScript 5 , il était nécessaire de passer la base pour la base 10:
parseInt("123", 10)
Étape (3) Ajouter 123 + 100 = 223
Étape (4) Cachez 223 dans "223"
Mettez tout en place
ou
la source
parseInt
fonction .la source
Ces questions reviennent tout le temps en raison du système de saisie de JavaScript. Les gens pensent qu'ils obtiennent un nombre lorsqu'ils obtiennent la chaîne d'un nombre.
Voici quelques éléments que vous pourriez voir qui tirent parti de la façon dont JavaScript traite les chaînes et les nombres. Personnellement, j'aurais aimé que JavaScript utilise un symbole autre que + pour la concaténation de chaînes.
Étape (1) Concaténer «1», «2», «3» en «123»
Étape (2) Convertissez "123" en 123
Étape (3) Ajouter 123 + 100 = 223
Étape (4) Convertissez 223 en «223»
Si vous savez POURQUOI cela fonctionne, vous êtes moins susceptible d'avoir des problèmes avec les expressions JavaScript.
la source
Vous pouvez le faire comme ceci:
la source
0
seront considérées comme des nombres octaux (base 8) .0
et contenant8
ou9
échoueront, conduisant à un retour de 0. Par exemple,,parseInt('034') = 28
etparseInt('09') = 0
.Pour convertir une chaîne en nombre, soustrayez 0. Pour convertir un nombre en chaîne, ajoutez "" (la chaîne vide).
5 + 1 vous donneront 6
(5 + "") + 1 vous donnera "51"
("5" - 0) + 1 vous donnera 6
la source
parseInt est défectueux comme scanf:
la source
Voici un exemple très irritant de la façon dont JavaScript peut vous causer des problèmes:
Si vous essayez simplement d'utiliser
parseInt()
pour convertir en nombre, puis ajoutez un autre nombre au résultat, il concaténera deux chaînes.Cependant, vous pouvez résoudre le problème en plaçant l'expression de somme entre parenthèses, comme illustré dans l'exemple ci-dessous.
Résultat: leur âge total est de: 98 ans; Leur âge total n'est PAS: 5048
la source
Le plus simple est lorsque vous voulez faire d'un entier une chaîne
Maintenant, à partir de la variable b qui est de type string, nous pouvons obtenir l'entier
Si vous voulez vérifier ci-dessus, c'est un nombre. Si vous n'êtes pas sûr que b contient un entier, vous pouvez utiliser
la source
Nous pouvons le faire en utilisant l' opérateur unaire plus pour les convertir d'abord en nombres et simplement les ajouter. voir ci-dessous:-
la source