Curso Básico de JavaScript – Convertendo tipos de dados
Convertendo tipos de dados em JavaScript
Às vezes precisamos informar em nosso código exatamente o tipo de dados que deve ser usado no processamento de informações.
Como o JavaScript é uma linguagem não-tipada, existe o risco de um tipo de dado ser interpretado de forma errônea em alguns casos particulares, causando problemas no processamento dos dados.
Podemos converter entre tipos de dados usando funções específicas no JavaScript, como os métodos parseInt() e parseFloat(), entre outras.
Operador typeof
Como operador typeof() podemos descobrir o tipo de um dado ou de uma variável. Veja os exemplos a seguir:
<script> document.write(typeof "Fábio" + "<br />"); document.write(typeof 345.89 + "<br />"); document.write(typeof 12 + "<br />"); document.write(typeof true + "<br />"); </script>
Converter números para strings
Para converter um número em string, use o método String(), como no exemplo a seguir:
<script> n = 20; document.write("A variável n é do tipo " + typeof n + "<br />"); n = String(n); document.write("A variável n agora é do tipo " + typeof n + "<br />"); </script>
Podemos também usar o método toString() do objeto Number para realizar essa conversão:
n = n.toString();
Convertendo valores lógicos para strings
O método global String() também pode converter um valor lógico (booleano) para string:
<script> b = true; document.write("A variável b é do tipo " + typeof b + "<br />"); b = String(b); document.write("A variável b agora é do tipo " + typeof b + "<br />"); </script>
Podemos também usar o método toString() do objeto Boolean:
b = b.toString();
Convertendo uma string em número
Para converter uma string em um número podemos usar o método Number(): <script> a = "10"; b = "23.6"; document.write("A variável a é do tipo " + typeof a + "<br />"); document.write("A variável b é do tipo " + typeof b + "<br />"); a = Number(a); b = Number(b); document.write("A variável a agora é do tipo " + typeof a + "<br />"); document.write("A variável b agora é do tipo " + typeof b + "<br />"); </script>
Convertendo string para número inteiro
Podemos converter uma string especificamente para um inteiro usando o método parseInt():
<script> a = "10"; document.write("A variável a é do tipo " + typeof a + "<br />"); a = parseInt(a); document.write("A variável a agora é do tipo " + typeof a + "<br />"); document.write("Valor de a: " + a + "<br />"); b = "12.45"; document.write("A variável b é do tipo " + typeof b + "<br />"); document.write("Valor de b: " + b + "<br />"); b = parseInt(b); document.write("A variável b agora é do tipo " + typeof b + "<br />"); document.write("Valor de a: " + a + "<br />"); document.write("Valor de b: " + b); </script>
Convertendo string para número de ponto flutuante (float)
Podemos converter uma string especificamente para um número de ponto flutuante usando o método parseFloat():
<script> a = "10"; document.write("A variável a é do tipo " + typeof a + "<br />"); a = parseFloat(a); document.write("A variável a agora é do tipo " + typeof a + "<br />"); </script>
Precisão de ponto flutuante
Quando trabalhamos com números de ponto flutuante. podemos controlar a precisão que será retornada (quantidade de casas decimais exibidas) usando o método toFixed(), o qual retorna uma string:
<script> a = 10.2; document.write("O valor de a é " + a.toFixed(2)); </script>
Os valores são arredondados com o método toFixed() se o número de casas a exibir for menor que o número de casas decimais que o número possui.
Tanto toFixed() quanto toPrecision() (próxima seção) são métodos do objeto Number.
Comprimento de ponto flutuante
Quando trabalhamos com números de ponto flutuante, podemos controlar o comprimento total do número que será retornado usando o método toPrecision(), o qual retorna uma string:
<script> a = 10.2; document.write("O valor de a é " + a.toPrecision(5)); </script>
Neste exemplo o número 5 significa “exiba cinco dígitos”, incluindo o número em si e suas casas decimais.
Próximo: Operadores Relacionais
Escreva um comentário