Como posso fazer o seguinte em JavaScript?
Concatene "1", "2", "3" em "123"
Converta "123" em 123
Adicione 123 + 100 = 223
Converta 223 em "223"
javascript
string
numbers
user366312
fonte
fonte
Respostas:
Você deseja se familiarizar com
parseInt()
etoString()
.E útil em seu kit de ferramentas será olhar para uma variável para descobrir de que tipo ela é—
typeof
:fonte
Etapa (1) Concatenar "1", "2", "3" em "123"
ou
O método join concatena os itens de uma matriz em uma string, colocando o delimitador especificado entre os itens. Nesse caso, o "delimitador" é uma string vazia (
""
).Etapa (2) Converter "123" em 123
Antes do ECMAScript 5 , era necessário passar o radical para a base 10:
parseInt("123", 10)
Etapa (3) Adicionar 123 + 100 = 223
Etapa (4) Converter 223 em "223"
Coloque tudo junto
ou
fonte
parseInt
função .fonte
Essas questões surgem o tempo todo devido ao sistema de digitação do JavaScript. As pessoas pensam que estão obtendo um número quando estão obtendo a sequência de um número.
Aqui estão algumas coisas que você pode ver que tiram vantagem da maneira como o JavaScript lida com strings e números. Pessoalmente, gostaria que o JavaScript tivesse usado algum símbolo diferente de + para concatenação de strings.
Etapa (1) Concatenar "1", "2", "3" em "123"
Etapa (2) Converter "123" em 123
Etapa (3) Adicionar 123 + 100 = 223
Etapa (4) Converter 223 em "223"
Se você sabe POR QUE eles funcionam, é menos provável que tenha problemas com expressões JavaScript.
fonte
Você pode fazer assim:
fonte
0
serão vistos como números octais (base 8) .0
e depois contêm8
ou9
falharão, levando a um retorno de 0. Por exemplo,,parseInt('034') = 28
eparseInt('09') = 0
.Para converter uma string em um número, subtraia 0. Para converter um número em uma string, adicione "" (a string vazia).
5 + 1 lhe dará 6
(5 + "") + 1 dará a você "51"
("5" - 0) + 1 dará a você 6
fonte
parseInt é mal caracterizado como scanf:
fonte
Abaixo está um exemplo muito irritante de como o JavaScript pode causar problemas:
Se você apenas tentar usar
parseInt()
para converter em número e adicionar outro número ao resultado, ele concatenará duas strings.No entanto, você pode resolver o problema colocando a expressão de soma entre parênteses, conforme mostrado no exemplo abaixo.
Resultado: a soma das idades é: 98; A soma da idade NÃO é: 5048
fonte
O mais simples é quando você quer fazer um inteiro uma string fazer
Agora, a partir da variável b, que é do tipo string, podemos obter o inteiro
Se você quiser verificar acima é um número. Se você não tiver certeza se b contém um inteiro, você pode usar
fonte
Podemos fazer isso usando o operador mais unário para convertê-los em números primeiro e simplesmente adicionar. ver abaixo:-
fonte