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/