"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quando usar parseInt() e Number() para conversão de string em número em JavaScript?

Quando usar parseInt() e Number() para conversão de string em número em JavaScript?

Publicado em 17/11/2024
Navegar:376

 When to Use parseInt() and Number() for String to Number Conversion in JavaScript?

Convertendo strings em números com parseInt() e Number()

Ao converter strings em números em JavaScript, duas funções comumente usadas são parseInt () e Número(). Embora ambos compartilhem o propósito da conversão numérica, eles diferem em sua abordagem e comportamento.

parseInt()

parseInt() executa uma tarefa mais específica conhecida como análise . Ele tenta extrair um número inteiro de uma string. Ao analisar, parseInt() lê a string da esquerda para a direita, parando no primeiro caractere que não seja um dígito. Quaisquer caracteres subsequentes na string são ignorados.

parseInt() também aceita um segundo argumento opcional, a raiz ou base, que especifica o sistema numérico usado para interpretar os dígitos. A raiz padrão é 10 (decimal), mas pode ser definida como qualquer número inteiro entre 2 e 36.

Exemplos:

parseInt("20px");       // 20
parseInt("10100", 2);   // 20 (binary)
parseInt("2e1");        // 2 (does not parse the "e1")

Number()

Number(), por outro lado, é uma função construtora que converte uma string para um número, realizando conversão de tipo. Ao contrário de parseInt(), Number() tenta converter a string inteira em um número, mesmo que contenha caracteres não numéricos.

Se a string contiver caracteres não numéricos, Number() retornará NaN (Não -a-Número). No entanto, ele tem alguns comportamentos notáveis ​​em casos específicos:

  • Ele pode lidar com notação exponencial (por exemplo, "2e1") e convertê-la em um número.
  • Ele pode detectar e analisar notações octais implícitas (por exemplo, "010"), mas também pode ser usado para converter explicitamente para octal usando "0o".
  • Ele pode lidar com números hexadecimais prefixados com "0x".

Exemplos:

Number("20px");       // NaN
Number("2e1");        // 20
Number("010");         // 10
Number("0o10");         // 8
Number("0xF");   // 15

Considerações adicionais

  • parseInt() geralmente é preferido quando você precisa analisar uma string como um número inteiro, enquanto Number() é mais adequado para converter valores em tipos numéricos.
  • O operador unário mais ( ) também pode ser usado para converter uma string em um número, o que é equivalente a usar o construtor Number().
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3