Métodos numéricos JavaScript


Índice

    Mostrar índice


Métodos numéricos JavaScript

Esses métodos numéricos podem ser usados em todos os números JavaScript:

toString()

Retorna um número como uma string

toExponential()

Retorna um número escrito em notação exponencial

toFixed()

Retorna um número escrito com um número de decimais

toPrecision()

Retorna um número escrito com um comprimento especificado

ValueOf()

Retorna um número como um número


O método toString()

O método toString() retorna um número como uma string.

Todos os métodos numéricos podem ser usados em qualquer tipo de número (literais, variáveis ou expressões):

Exemplo

let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The toString() method converts a number to a string.</p>

<p id="demo"></p>

<script>
let x = 123;
document.getElementById("demo").innerHTML =
  x.toString() + "<br>" +
   (123).toString() + "<br>" +
   (100 + 23).toString();
</script>

</body>
</html>

O método toExponential()

toExponential() retorna uma string, com um número arredondado e escrito usando notação exponencial.

Um parâmetro define o número de caracteres atrás do ponto decimal:

Exemplo

let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);

O parâmetro é opcional. Se você não especificar, o JavaScript não arredondará o número.



O método toFixed()

toFixed() retorna uma string, com o número escrito com um número específico de decimais:

Exemplo

let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);

toFixed(2) é perfeito para trabalhar com dinheiro.


O método toPrecision()

toPrecision() retorna uma string, com um número escrito com um comprimento especificado:

Exemplo

let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The toPrecision() method returns a string, with a number written with a specified length:</p>

<p id="demo"></p>

<script>
let x = 9.656;
document.getElementById("demo").innerHTML = 
  x.toPrecision() + "<br>" +
  x.toPrecision(2) + "<br>" +
  x.toPrecision(4) + "<br>" +
  x.toPrecision(6);  
</script>

</body>
</html>

O método valueOf()

valueOf() retorna um número como um número.

Exemplo

let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Number Methods</h2>

<p>The valueOf() method returns a number as a number:</p>

<p id="demo"></p>

<script>
let x = 123;

document.getElementById("demo").innerHTML = 
  x.valueOf() + "<br>" +
  (123).valueOf() + "<br>" +
  (100 + 23).valueOf();
</script>

</body>
</html>

Em JavaScript, um número pode ser um valor primitivo (typeof=number) ou um objeto (typeof=objeto).

O método valueOf() é usado internamente em JavaScript para converter Number objetos para valores primitivos.

Não há razão para usá-lo em seu código.

Todos os tipos de dados JavaScript têm um método valueOf() e um método toString().


Convertendo Variáveis em Números

Existem 3 métodos JavaScript que podem ser usados para converter uma variável em um número:

Number()

Retorna um número convertido de seu argumento.

parseFloat()

Analisa seu argumento e retorna um número de ponto flutuante

parseInt()

Analisa seu argumento e retorna um número inteiro

Os métodos acima não são métodos numéricos. Eles são métodos JavaScript globais.


O método Number()

O método Number() pode ser usado para converter variáveis JavaScript em números:

Exemplo

Number(true);
Number(false);
Number("10");
Number("  10");
Number("10  ");
Number(" 10  ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("John");

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method converts variables to numbers:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
  Number(true) + "<br>" +
  Number(false) + "<br>" +
  Number("10") + "<br>" + 
  Number("  10") + "<br>" +
  Number("10  ") + "<br>" +
  Number(" 10  ") + "<br>" +
  Number("10.33") + "<br>" + 
  Number("10,33") + "<br>" +
  Number("10 33") + "<br>" +
  Number("John");
</script>

</body>
</html>


Se o número não puder ser convertido, NaN (Not a Number) será retornado.


O método Number() usado em datas

Number() também pode converter uma data em um número.

Exemplo

Number(new Date("1970-01-01"))

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("1970-01-01");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>


Observação

O método Date() retorna o número de milissegundos desde 1.1.1970.

O número de milissegundos entre 02/01/1970 e 01/01/1970 é 86400000:

Exemplo

Number(new Date("1970-01-02"))

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("1970-01-02");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>


Exemplo

Number(new Date("2017-09-30"))

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Global Methods</h2>

<p>The Number() method can convert a date to a number:</p>

<p id="demo"></p>

<script>
let x = new Date("2017-09-30");
document.getElementById("demo").innerHTML = Number(x); 
</script>

</body>
</html>



O método parseInt()

parseInt() analisa uma string e retorna um número inteiro. Os espaços são permitido. Apenas o primeiro número é retornado:

Exemplo

parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");

Se o número não puder ser convertido, NaN (Not a Number) será retornado.


O método parseFloat()

parseFloat() analisa uma string e retorna um número. Os espaços são permitido. Apenas o primeiro número é retornado:

Exemplo

parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");

Se o número não puder ser convertido, NaN (Not a Number) será retornado.


Métodos de objetos numéricos

Estes métodos de objeto pertencem ao objeto Number:

Number.isInteger()

Retorna verdadeiro se o argumento for um número inteiro

Number.isSafeInteger()

Retorna verdadeiro se o argumento for um número inteiro seguro

Number.parseFloat()

Converte uma string em um número

Number.parseInt()

Converte uma string em um número inteiro

Métodos numéricos não podem ser usados em variáveis

Os métodos numéricos acima pertencem ao Objeto Numérico do JavaScript.

Esses métodos só podem ser acessados como Number.isInteger().

Usar X.isInteger() onde X é uma variável resultará em um erro:

TypeError X.isInteger não é uma função.


O método Number.isInteger()

O método Number.isInteger() retorna true se o argumento for um número inteiro.

Exemplo

Number.isInteger(10);
Number.isInteger(10.5);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Numbers</h1>
<h2>The isInteger() Method</h2>

<p>The isInteger() method returns true if the argument is an integer.</p>
<p>Otherwise it returns false.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Number.isInteger(10) + "<br>" + Number.isInteger(10.5);
</script>

</body>
</html>

O método Number.isSafeInteger()

Um número inteiro seguro é um número inteiro que pode ser representado exatamente como um número de precisão dupla.

O método Number.isSafeInteger() retorna true se o argumento for um número inteiro seguro.

Exemplo

Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Numbers</h1>
<h2>The isSafeInteger() Method</h2>

<p>The isSafeInteger() method returns true if the argument is a safe integer.</p>
<p>Otherwise it returns false.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Number.isSafeInteger(10) + "<br>" + Number.isSafeInteger(12345678901234567890);
</script>

</body>
</html>

Inteiros seguros são todos números inteiros de -(253 - 1) a +(253 - 1).
Isto é seguro: 9007199254740991. Isto não é seguro: 9007199254740992.


O método Number.parseFloat()

Number.parseFloat() analisa uma string e retorna um número.

Espaços são permitidos. Apenas o primeiro número é retornado:

Exemplo

Number.parseFloat("10");
Number.parseFloat("10.33");
Number.parseFloat("10 20 30");
Number.parseFloat("10 years");
Number.parseFloat("years 10");

Se o número não puder ser convertido, NaN (Not a Number) será retornado.

Observação

Os métodos Number Number.parseInt() e Number.parseFloat()

são iguais ao

Métodos globais parseInt() e parseFloat().

O objetivo é a modularização de globais (para facilitar o uso do mesmo código JavaScript fora do navegador).


O método Number.parseInt()

Number.parseInt() analisa uma string e retorna um número inteiro.

Espaços são permitidos. Apenas o primeiro número é retornado:

Exemplo

Number.parseInt("-10");
Number.parseInt("-10.33");
Number.parseInt("10");
Number.parseInt("10.33");
Number.parseInt("10 20 30");
Number.parseInt("10 years");
Number.parseInt("years 10");

Se o número não puder ser convertido, NaN (Not a Number) será retornado.

Referência completa do número JavaScript

Para obter uma referência completa do número, visite nosso:

Referência completa do número JavaScript.

A referência contém descrições e exemplos de todas as propriedades e métodos de Number.