Os métodos numéricos ajudam a trabalhar com números.
Métodos e Propriedades Numéricas
Valores primitivos (como 3.14 ou 2014), não podem ter propriedades e métodos (porque não são objetos).
Porém, com JavaScript, métodos e propriedades também estão disponíveis para valores primitivos, porque o JavaScript trata valores primitivos como objetos ao executar métodos e propriedades.
O Método toString()
toString() retorna um número como uma sequência.
Todos os métodos numéricos podem ser usados em qualquer tipo de número (literais, variáveis ou expressões):
var x = 123;
x.toString(); // retorna 123 da variável x
(123).toString(); // retorna 123 do literal 123
(100 + 23).toString(); // retorna 123 da expressão 100 + 23
O método toExponential()
toExponential() retorna uma string, com um número arredondado e gravado usando notação exponencial.
Um parâmetro define o número de caracteres atrás do ponto decimal:
var x = 9.656;
x.toExponential(2); // retorna 9.66e+0
x.toExponential(4); // retorna 9.6560e+0
x.toExponential(6); // retorna 9.656000e+0
O parâmetro é opcional. Se você não o especificar, o JavaScript não arredondará o número.
Método toFixed()
toFixed() retorna uma string com o número escrito com um número especificado de casas decimais:
var x = 9.656;
x.toFixed(0); // retorna 10
x.toFixed(2); // retorna 9.66
x.toFixed(4); // retorna 9.6560
x.toFixed(6); // retorna 9.656000
toFixed(2) é perfeito para trabalhar com dinheiro.
Método toPrecision ()
toPrecision() retorna uma string, com um número escrito com um comprimento especificado:
var x = 9.656;
x.toPrecision(); // retorna 9.656
x.toPrecision(2); // retorna 9.7
x.toPrecision(4); // retorna 9.656
x.toPrecision(6); // retorna 9.65600
Método valueOf ()
valueOf() retorna um número como um número.
var x = 123;
x.valueOf(); // retorna 123 da variável x
(123).valueOf(); // retorna 123 do literal 123
(100 + 23).valueOf(); // retorna 123 da expressão 100 + 23
Em JavaScript, um número pode ser um valor primitivo (typeof = number) ou um objeto (typeof = object).
O método valueOf() é usado internamente em JavaScript para converter objetos Number em valores primitivos.
Não há motivo para usá-lo no seu código.
Todos os tipos de dados JavaScript possuem valueOf()um toString()método e.
Conversão para Número
Existem 3 métodos JavaScript que podem ser usados para converter variáveis em números:
- O método Number()
- O método parseInt()
- O método parseFloat()
Esses métodos não são métodos numéricos, mas métodos globais de JavaScript.
Métodos Globais
Os métodos globais JavaScript podem ser usados em todos os tipos de dados JavaScript.
Estes são os métodos mais relevantes ao trabalhar com números:
Método |
Descrição |
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. |
O Método Number ()
Number() pode ser usado para converter variáveis JavaScript em números:
Number(true); // retorna 1
Number(false); // retorna 0
Number("10"); // retorna 10
Number(" 10"); // retorna 10
Number("10 "); // retorna 10
Number(" 10 "); // retorna 10
Number("10.33"); // retorna 10.33
Number("10,33"); // retorna NaN
Number("10 33"); // retorna NaN
Number("João"); // retorna NaN
Se o número não puder ser convertido, NaN(Não é um número) será retornado.
Método Number () Usado com Datas
Number() também pode converter uma data em um número:
Number(new Date("2017-09-30")); // retorna 1506729600000
O método Number() acima retorna o número de milissegundos desde 1.1.1970.
Método parseInt ()
parseInt()analisa uma string e retorna um número inteiro. Espaços são permitidos. Somente o primeiro número é retornado:
parseInt("10"); // Retorna 10
parseInt("10.33"); // Retorna 10
parseInt("10 20 30"); // Retorna 10
parseInt("10 years"); // Retorna 10
parseInt("years 10"); // Retorna NaN
Se o número não puder ser convertido, NaN(Não é um número) será retornado.
Método parseFloat ()
parseFloat()analisa uma string e retorna um número. Espaços são permitidos. Somente o primeiro número é retornado:
parseFloat("10"); // retorna 10
parseFloat("10.33"); // retorna 10.33
parseFloat("10 20 30"); // retorna 10
parseFloat("10 years"); // retorna 10
parseFloat("years 10"); // retorna NaN
Se o número não puder ser convertido, NaN(Não é um número) será retornado.
Propriedades do Objeto Number
Property |
Descrição |
MAX_VALUE |
Retorna o maior vaor possível no JavaScript |
MIN_VALUE |
Retorna o menor valor possível no JavaScript |
POSITIVE_INFINITY |
Representa infinity (retornado no transbordamento) |
NEGATIVE_INFINITY |
Representa infinity negativo (retornado no transbordamento) |
NaN |
Representa um valor não numérico (Not a Number) |
MIN_VALUE e MAX_VALUE
MAX_VALUE retorna o maior número possível em JavaScript.
var x = Number.MAX_VALUE;
MIN_VALUE retorna o menor número possível em JavaScript.
var x = Number.MIN_VALUE;
POSITIVE_INFINITY
var x = Number.POSITIVE_INFINITY;
POSITIVE_INFINITY é retornado no estouro:
var x = 1 / 0;
NEGATIVE_INFINITY
var x = Number.NEGATIVE_INFINITY;
NEGATIVE_INFINITY é retornado no estouro:
var x = -1 / 0;
NaN - Não é um Número
var x = Number.NaN;
NaN é uma palavra reservada em JavaScript, indicando que um número não é um número legal.
Tentar fazer aritmética com uma sequência não numérica resultará em NaN (Não é um número):
var x = 100 / "Maçã"; // x will be NaN (Not a Number)
Propriedades de Número não Podem ser Usadas em Variáveis
As propriedades Number pertencem ao wrapper de objeto numérico do JavaScript chamado Number.
Essas propriedades podem ser acessadas apenas como Number.MAX_VALUE.
Usando myNumber.MAX_VALUE, onde myNumber é uma variável, expressão ou valor, retornará undefined:
var x = 6; var y = x.MAX_VALUE; // y === undefined
Referência Completa do Objeto Number
Para uma referência completa, acesse a Referência completa de números JavaScript.
A referência contém descrições e exemplos de todas as propriedades e métodos de Number.