Jump to content
Fórum Script Brasil
  • 0

Parseint()


Denis_Rave
 Share

Question

4 answers to this question

Recommended Posts

  • 0

Denis_Rave:

Não funciona porque essa função tem como finalidade retornar um número inteiro.

"08" e "09" não são números inteiros. São números inteiros: "8" e "9".

É igual a você tentar iniciar uma conta com o "0".

Não sei se pude lhe explicar bem.

Mais dúvidas? Pergunte. :D

Link to comment
Share on other sites

  • 0

na verdade, "08" é um inteiro SIM

O que acontece é que em JavaScript há considerações (regras) quanto ao sistema de numeração usado.

Quando um numero é precedido de um 0 (exemplo: 055 [octal] difere de 55 [decimal]) é automaticamente aceito como na base OCTAL. Logo, 01, 02, ...07 são OCTAIS que a função parseInt converte pra decimal. O numero "08" não é definido no sistema OCTAL por isso há um erro, fazendo a função retornar 0.

Por exemplo:

alert(parseInt("371"));   //371 no Sistema DECIMAL
alert(parseInt("0563"));           //371 no sistema OCTAL

existem outras peculiaridades dessa função... se você quer realmente passar "08" como parâmetro você pode usar a função assim:

parseInt("numero", base)

No seu caso, seria assim: parseInt("08", 10)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.8k
×
×
  • Create New...