Como converter string para number em Javascript
Há muitas maneiras de converter uma string em um número usando JavaScript. Mas como isso se parece no código?
Neste artigo, mostrarei 11 maneiras de converter uma string em um número.
1 - Como converter uma string em um número em JavaScript usando a função Number()
Uma maneira de converter uma string em um número seria usar a função Number().
Neste exemplo, temos uma string chamada quantity com o valor de "12".
const quantity = "12";
Se usamos o operador typeof em quantity, ele retornará o tipo de string.
console.log(typeof quantity);
Podemos converter quantity em um número usando a função Number assim:
Number(quantity);
Podemos verificar que agora é um número usando o operador typeof novamente.
console.log(typeof Number(quantity));
Se você tentasse passar um valor que não pode ser convertido em um número, o valor de retorno seria NaN(Not a Number).
console.log(Number("awesome"));
2 - Como converter uma string em um número em JavaScript usando a função parseInt()
Outra maneira de converter uma string em um número é usar a função parseInt(). Esta função recebe uma string e uma raiz opcional.
Uma raiz é um número entre 2 e 36 que representa a base em um sistema numérico. Por exemplo, uma base de 2 representaria o sistema binário, enquanto uma base de 10 representaria o sistema decimal.
Podemos usar a variável quantity anterior para converter essa string em um número.
const quantity = "12";
console.log(parseInt(quantity, 10));
O que acontece se eu tentar mudar a variável quantity para "12.99"? O resultado usando parseInt() será o número 12,99?
const quantity = "12.99";
console.log(parseInt(quantity, 10));
Como você pode ver, o resultado é um inteiro arredondado. Se você quiser retornar um número de ponto flutuante, precisará usar parseFloat().
3 - Como converter uma string em um número em JavaScript usando a função parseFloat()
A função parseFloat() receberá um valor e retornará um número de ponto flutuante. Exemplos de números de ponto flutuante seriam 12,99 ou 3,14.
Se modificarmos nosso exemplo anterior para usar parseFloat(), o resultado seria o número de ponto flutuante de 12,99.
const quantity = "12.99";
console.log(parseFloat(quantity));
Se você tiver espaços em branco à esquerda ou à direita em sua string, parseFloat() ainda converterá essa string em um número de ponto flutuante.
const quantity = " 12.99 ";
console.log(parseFloat(quantity));
Se o primeiro caractere em sua string não puder ser convertido em número, parseFloat() retornará NaN.
const quantity = "F12.99";
console.log(parseFloat(quantity));
4 - Como converter uma string em um número em JavaScript usando o operador unário de mais (+)
O operador unário de mais (+) converterá uma string em um número. O operador irá antes do operando.
const quantity = "12";
console.log(+quantity);
Também podemos usar o operador unário de mais (+) para converter uma string em um número de ponto flutuante.
const quantity = "12.99";
console.log(+quantity);
Se o valor da string não puder ser convertido em um número, o resultado será NaN.
const quantity = "awesome";
console.log(+quantity);
5 - Como converter uma string em um número em JavaScript multiplicando a string pelo número 1
Outra maneira de converter uma string em um número é usar uma operação matemática básica. Você pode multiplicar o valor da string por 1 e ele retornará um número.
const quantity = "12";
console.log(quantity * 1);
Como você pode ver, quando multiplicamos o valor de quantity por 1, ele retorna o número 12. Mas como isso funciona?
Neste exemplo, o JavaScript está convertendo nosso valor de string em um número e, em seguida, realizando essa operação matemática. Se a string não puder ser convertida em um número, a operação matemática não funcionará e retornará NaN.
const quantity = "awesome";
console.log(quantity * 1);
Este método também funcionará para números de ponto flutuante.
const quantity = "10.5";
console.log(quantity * 1);
6 - Como converter uma string em um número em JavaScript dividindo a string pelo número 1
Em vez de multiplicar por 1, você também pode dividir a string por 1. JavaScript está convertendo nosso valor de string em um número e, em seguida, realizando essa operação matemática.
const quantity = "10.5";
console.log(quantity / 1);
7 - Como converter uma string em um número em JavaScript subtraindo o número 0 da string
Outro método seria subtrair 0 da string. Como antes, o JavaScript está convertendo nosso valor de string em um número e, em seguida, realizando essa operação matemática.
const quantity = "19";
console.log(quantity - 0);
8 - Como converter uma string em um número em JavaScript usando o operador NOT bit a bit (~)
O operador NOT bit a bit (~) inverterá os bits de um operando e converterá esse valor em um inteiro com sinal de 32 bits. Um inteiro com sinal de 32 bits é um valor que representa um inteiro em 32 bits (ou 4 bytes).
Se usarmos um operador NOT bit a bit (~) em um número, ele executará esta operação: -(x + 1)
console.log(~19);
Mas se usarmos dois operadores NOT bit a bit (~), ele converterá nossa string em um número.
const quantity = "19";
console.log(~~quantity);
Este método não funcionará para números de ponto flutuante porque o resultado seria um inteiro.
const quantity = "19.99";
console.log(~~quantity);
Se você tentasse usar esse método em caracteres não numéricos, o resultado seria zero.
const quantity = "awesome";
console.log(~~quantity);
Esse método tem suas limitações porque começará a quebrar para valores considerados muito grandes. É importante certificar-se de que seu número esteja entre os valores de um inteiro de 32 bits com sinal.
const quantity = "2700000000";
console.log(~~quantity);
Para saber mais sobre o operador NOT bit a bit(~), leia a documentação .
9 - Como converter uma string em um número em JavaScript usando a função Math.floor()
Outra maneira de converter uma string em um número é usar a função Math.floor(). Esta função arredondará o número para o inteiro mais próximo.
const quantity = "13.4";
console.log(Math.floor(quantity));
Assim como nos exemplos anteriores, se tentássemos usar caracteres não numéricos, o resultado seria NaN.
const quantity = "awesome";
console.log(Math.floor(quantity));
10 - Como converter uma string em um número em JavaScript usando a função Math.ceil()
A função Math.ceil() arredondará um número para o inteiro mais próximo.
const quantity = "7.18";
console.log(Math.ceil(quantity));
11 - Como converter uma string em um número em JavaScript usando a função Math.round()
A função Math.round() arredondará o número para o inteiro mais próximo.
Se eu tiver o valor de 6,3, então Math.round() retornará 6.
const quantity = "6.3";
console.log(Math.round(quantity));
Mas se eu alterar esse valor para 6,5, Math.round() retornará 7.
const quantity = "6.5";
console.log(Math.round(quantity));
Conclusão
Neste artigo, mostrei 11 maneiras de converter uma string em um número usando JavaScript.
Aqui estão os 11 métodos diferentes discutidos no artigo.
- Usando a função Number()
- Usando a função parseInt()
- Usando a função parseFloat()
- Usando o operador unário de mais (+)
- Multiplicando a string pelo número 1
- Dividindo a string pelo número 1
- Subtraindo o número 0 da string
- Usando o operador NOT bit a bit (~)
- Usando a função Math.floor()
- Usando a função Math.ceil()
- Usando a função Math.round()
Espero que você tenha gostado deste artigo e boa sorte em sua jornada JavaScript.
Fonte: https://www.freecodecamp.org/news/how-to-convert-a-string-to-a-number-in-javascript/