Algumas vezes ele não retornava o valor certo, mas sim retornava 0.
Executando isso no console do Firebug, retornou algo estranho:
console.log(parseInt('01'));
console.log(parseInt('02'));
console.log(parseInt('03'));
console.log(parseInt('04'));
console.log(parseInt('05'));
console.log(parseInt('06'));
console.log(parseInt('07'));
console.log(parseInt('08'));
console.log(parseInt('09'));
console.log(parseInt('010'));
Retornou isso:
1
2
3
4
5
6
7
0 //não deveria ser 8, 9 e 10?
0
8
Segundo essse link, isso acontece porque o navegador está retornando esse valor em base 8, e não base 10.
Pra resolver isso, precisamos dizer a ele pra usar base 10:
console.log(parseInt('01','10'));
console.log(parseInt('02','10'));
console.log(parseInt('03','10'));
console.log(parseInt('04','10'));
console.log(parseInt('05','10'));
console.log(parseInt('06','10'));
console.log(parseInt('07','10'));
console.log(parseInt('08','10'));
console.log(parseInt('09','10'));
console.log(parseInt('010','10'));
Que no fim vai retornar:
1
2
3
4
5
6
7
8
9
10
Nenhum comentário:
Postar um comentário