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