Muita coisa sobre CSS, HTML, Javascript, Search engine optimization (seo), padrões e web
18 Jan
Tá ok, o título é um pouco sensacionalista. Mas é isso que ele faz se você não tomar um certo cuidado ao usar a função parseInt() com strings numéricas (!?) de dois dígitos, onde o primeiro é o 0.
Quer um exemplo, clique nos links abaixo e você verá o que o Javascript faz ao transformar as strings “05″ e “08″, com a função parseInt(), em números:
E aí, o que percebeu de errado? Se você for esperto, percebeu que a string “08″ se transformou em um número 0. Mas, como pode? Pode porque a função parseInt() considera que strings de números iniciados com “0″ pertencem a base octal e não decimal. O mesmo erro de conversão ocorre também para a string “09″.
Para resolver isso, precisamos passar uma parâmetro indicando que a string de número passada é da base decimal, para que ele faça a conversão correta.
parseInt("08", 10);Você pode indicar outras bases, segundo a W3Schools aceita de 2 a 36.
O dia que uma conta sair errada no Javascript já sabe o que pode ser. Ou você precisa voltar à escola ou forçar a base decimal.
Leave a reply