sexta-feira, 2 de junho de 2017

Conversão de Tipos

Conversão Implícita de Tipos

Em expressões envolvendo valores numéricos e strings com o operador +, os valores numéricos serão convertidos implicitamente para strings. Por exemplo::

X = "A resposta é " + 35; // retorna "A resposta é 35"
Y = 35 + " é a resposta" // retorna "35 é a resposta"


Em expressões envolvendo outros operadores a conversão será feita de acordo com o tipo de dado esperado pelo operador. Exemplo:

X = "37" - 7 // retorna 30
Y = "37" + 7 // retorna 377


Quando dois valores são comparados, números, strings e valores lógicos são comparados por valor:

3 == "3" // Resultado true
1 && true // Resultado true


Usando a conversão implícita podemos usar de um artifício simples para forçar a conversão de número para string e de string para número.

Número para string:

i = 25 ;
s = "" + i ; // s recebe "25" 


String para número:

s = "256" ;
j = s - 0 ; // j recebe 256   

Conversão de Explícita de Tipos

parseInt (str) ou parseInt (str,base): Converte uma string num número inteiro. Str é a cadeia a ser convertida e base é a base em que os números estão codificados. Se a base não for especificada, assume que a string é uma seqüência de algarismos na base decimal (0,1,2,3,4,5,6,7,8,9). Caso encontre algum caractere diferente dos esperados, encerra a conversão:

num = "3A";
x = parseInt(num);    // x recebe 3
y = parseInt(num,16);    // y recebe 58


parseFloat (str): É a função equivalente a parseInt, para converter strings em números reais. Da mesma forma, se encontrar algum caractere não esperado, encerra a conversão.

z = parseFloat("3.15"); // z recebe 3.15

Nenhum comentário:

Postar um comentário