Eu gostaria de algo como 5 + 6
voltar em "56"
vez de 11
.
javascript
Heidi
fonte
fonte
Respostas:
Use
"" + 5 + 6
para forçar as cordas. Isso também funciona com variáveis numéricas:fonte
const numbersAsString = `${5}${6}`;
fonte
Agora você pode fazer uso de literais de modelo ES6 .
Ou, se você tiver variáveis:
Pessoalmente, acho a nova sintaxe muito mais clara, embora um pouco mais detalhada.
fonte
Apenas use:
fonte
resposta simples:
fonte
fonte
Usar
para forçá-lo a cordas.
fonte
Eu sei que este é um post antigo e já foi respondido várias vezes. Eu também estava me perguntando se o JavaScript tinha uma função que faria isso. Eu estava fazendo uma programação matemática e precisava concatenar dois números.
Então, e se eu precisasse combinar dois números 17 e 29. Claro que posso transformá-los em strings e concatená-los e depois transformar a nova string em um número. Isso parece funcionar muito bem e posso continuar com meu código, mas vamos dar uma olhada aqui e tentar descobrir o que realmente está acontecendo aqui.
O que estamos fazendo com esses dois números, como pegamos 17 e 29 e os transformamos em mil setecentos e vinte e nove? Bem, podemos multiplicar 17 por 100 e depois adicionar 29. E que tal 172 e 293 para obter cento e setenta e dois mil duzentos e noventa e três? Multiplique 172 por 1000 e some 293. Mas e apenas 2 e 9? Multiplique 2 por 10 e some 9 para obter 29.
Então, espero que agora um padrão esteja aparente para você. Podemos conceber uma fórmula matemática para fazer esse cálculo para nós, em vez de apenas usar strings. Para concatenar quaisquer dois números, aeb, precisamos obter o produto de a e 10 à potência do comprimento b e adicionar b.
Então, como obtemos o comprimento do número b? Bem, poderíamos transformar b em uma string e obter a propriedade length dela.
Mas tem que haver uma maneira melhor de fazer isso sem cordas, certo? Sim existe.
Para quaisquer dois números, aeb, com qualquer base B. Vamos multiplicar a pela base B à potência do comprimento b (usando a base do log de b, em seguida, parando para obter o número inteiro mais próximo e adicionando 1 a ele) em seguida, adicionando b.
Portanto, agora nosso código se parece com este:
Mas espere, e se eu quisesse fazer isso na base 2 ou 8? Como eu posso fazer isso? Não podemos usar nossa fórmula que acabamos de criar com qualquer outra base, exceto a base 10. O objeto JavaScript Math já tem funções integradas para a base 10 e 2 (apenas Math.log), mas como obtemos funções de log para qualquer outra base? Dividimos o log de b pelo log da base.
Math.log(b) / Math.log(base).
Portanto, agora temos nosso código baseado em matemática totalmente funcional para concatenar dois números:
Se você soubesse que faria apenas matemática de base 10, poderia adicionar uma verificação de que a base é indefinida e definir base = 10:
Para facilitar para mim, usei o protótipo para adicionar a função ao objeto Number:
fonte
Você também pode usar a
toString
função para convertê-lo em string e concatenar.fonte
Outra possibilidade poderia ser esta:
fonte
fonte
Esta é a maneira fácil de fazer isso
fonte
Eu converti de volta para o número assim ..
saída 1245
- editar -
Desculpe,
para meu uso, isso ainda não funcionou para mim após o teste. Tive que adicionar o zero que faltava de volta, pois ele estava sendo removido em números menores que 10, meu uso é para permitir que o código seja executado em determinados momentos. Pode não estar correto, mas parece funcionar (até agora).
}
A votação foi boa, obrigado :)
Eu sou novo nisso e vim aqui para aprender com vocês uma explicação do porquê seria legal.
De qualquer forma, atualizei meu código para mostrar como consertei meu problema, pois este post me ajudou a descobri-lo.
fonte
Eu prefiro o
concat
caminho:Você também pode usar uma matriz que pode ajudar em alguns casos de uso:
fonte
Você pode retornar um número usando este truque:
não recomendado
Exemplo:
fonte
Para adicionar a todas as respostas acima, quero compartilhar a lógica de fundo:
Mais é um operador de adição que também é usado para concatenação de strings. Quando queremos concatenar números. Deve-se entender que queremos concatenar as strings, já que a concatenação de números não me torna casos de uso válidos.
Podemos alcançá-lo de várias maneiras,
Por meio de conversão de tipo
Isso também vai funcionar e fazer a conversão de tipos em segundo plano,
Se você está determinado a concatenar duas strings e o tipo de saída deve ser int, parseInt () funciona aqui
fonte