Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. parseInt()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

parseInt()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

Sumário

A funçãoparseInt() analisa um argumentostring e retorna um inteiro nabase especificada.

Sintaxe

parseInt(string, base);

Parâmetros

string

O valor a analisar. Se o argumentostring não for uma string, então o valor é convertido para uma string (utilizando a operação abstrataToString). Os espaços em branco nastring são ignorados.

base

Um inteiro entre2 e36 que representa abase dastring (sistemas numéricos matemáticos) mencionada no parâmetro anterior. Especifique10 para o sistema numérico decimal comumente usado por humanos.Sempre especifique este parâmetro para eliminar confusão do leitor e para garantir o comportamento esperado. Implementações diferentes produzem resultados diferentes quandobase não é especificado, normalmente assumindo o valor como10.

Valor de retorno

Um número inteiro analisado a partir da string fornecida. Se o primeiro caracter não puder ser convertido para um número,NaN é retornado.

Descrição

A funçãoparseInt converte seu primeiro argumento para uma string, analisa, e retorna um inteiro ouNaN. Se nãoNaN, o valor retornado será a representação decimal inteira do primeiro argumento obtido como um número na base especificada. Por exemplo, umabase 10 indica para converter de um número decimal, 8 octal, 16 hexadecimal, e assim por diante. Para bases acima de10, as letras do alfabeto indicam numerais maiores que9. Por exemplo, para números hexadecimais (base 16),A atéF são usados.

SeparseInt encontrar um caracter que não seja um numeral na base especificada, ele o ignora e a todos os caracteres subsequentes e retorna o valor inteiro analisado até aquele ponto.parseInt trunca números para valores inteiros. Espaços no início e fim são permitidos.

Sebase éundefined ou 0 (ou ausente), JavaScript assume o seguinte:

  • Se astring de entrada começa com "0x" ou "0X", abase é 16 (hexadecimal) e o restante da string é analisado.
  • Se astring de entrada começa com "0", abase é oito (octal) ou 10 (decimal). Exatamente qual base é escolhida é dependente da implementação. O ECMAScript 5 especifica que 10 (decimal) seja utilizado, mas nem todos os browsers suportam isso ainda. Por essa razãosempre especifique uma base quando estiver usandoparseInt.
  • Se astring de entrada começa com qualquer outro valor, a base é 10 (decimal).

Se o primeiro caracter não puder ser convertido para um número,parseInt retornaNaN.

Para propósitos aritméticos, o valorNaN não é um número em qualquer base. Você pode chamar a funçãoisNaN para determinar se o resultado deparseInt éNaN. SeNaN for passado em operações aritméticas, o resultado da operação também seráNaN.

Para converter um número para seu literal string em uma base específica useintValue.toString(base).

Exemplos

Exemplo: UsandoparseInt

Os seguintes exemplos sempre retornam15:

parseInt(" 0xF", 16);parseInt(" F", 16);parseInt("17", 8);parseInt(021, 8);parseInt("015", 10);parseInt(15.99, 10);parseInt("FXX123", 16);parseInt("1111", 2);parseInt("15*3", 10);parseInt("15e2", 10);parseInt("15px", 10);parseInt("12", 13);

Os seguintes exemplos sempre retornamNaN:

parseInt("Hello", 8); // Não é realmente um númeroparseInt("546", 2);   // Dígitos não são válidos para representações binárias

Os seguintes exemplos sempre retornam-15:

parseInt("-F", 16);parseInt("-0F", 16);parseInt("-0XF", 16);parseInt(-15.1, 10)parseInt(" -17", 8);parseInt(" -15", 10);parseInt("-1111", 2);parseInt("-15e1", 10);parseInt("-12", 13);

O seguinte exemplo retorna224:

parseInt("0e0", 16);

Interpretação octal sem informar a base

Embora desencorajado pelo ECMAScript 3 e proibido pelo ECMAScript 5, muitas implementações interpretam uma string numérica começando com um0 como octal. O exemplo abaixo pode ter um resultado octal, ou ele pode ter um resultado decimal.Sempre especifique uma base para evitar este comportamento não confiável.

parseInt("0e0"); // 0parseInt("08"); // 0, '8' não é um dígito octal.

O ECMAScript 5 remove a interpretação octal

A especificação ECMAScript 5 da funcãoparseInt não permite mais que as implementações tratem Strings começando com o caracter 0 como um valor octal. O ECMAScript 5 declara:

A funçãoparseInt produz um valor inteiro ditado pela interpretação do conteúdo de uma argumento string de acordo com uma base específicada. Espaços em branco no início da string são ignorados. Se a base for undefined ou0, ela é assumida como10 exceto quando o número começa com os pares de caracter0x or0X, e neste caso a base 16 é assumida. Se a base é16, o número pode também opcionalmente começar com os pares de caracter0x or0X.

Isto difere do ECMAScript 3, que desencoraja mas permite a interpretação octal.

Muitas implementações não adotaram este comportamento a partir de 2013, e porque browser antigos devem ser suportados,sempre especifique uma base.

Uma função de análise mais rigorosa

É útil em algum momento ter uma maneira mais rigorosa para analisar valores inteiros. Expressões regulares podem ajudar:

js
filterInt = function (value) {  if (/^(\-|\+)?([0-9]+|Infinity)$/.test(value)) return Number(value);  return NaN;};console.log(filterInt("421")); // 421console.log(filterInt("-421")); // -421console.log(filterInt("+421")); // 421console.log(filterInt("Infinity")); // Infinityconsole.log(filterInt("421e+0")); // NaNconsole.log(filterInt("421hop")); // NaNconsole.log(filterInt("hop1.61803398875")); // NaNconsole.log(filterInt("1.61803398875")); // NaN

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-parseint-string-radix

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp