O objecto JavaScript Number é um objecto abstraído que te permite trabalhar com valores numéricos. Um objecto Number é criado usando o constructor Number().

Constructor

new Number(valor);

Parâmetro

valor
O valor numérico representado pelo objecto que está a ser criado.

Descrição

Os usos mais comuns para o objecto Number são:

  • Se o argumento não puder ser convertido num número, retorna NaN.
  • Num contexto não-constructor (isto é, sem o operador new), Number pode ser usado para uma conversão de tipo.

Propriedades

Number.EPSILON
O intervalo mais pequeno entre dois números representáveis.
Number.MAX_SAFE_INTEGER
O maior inteiro bem representado em JavaScript (253 - 1).
Number.MAX_VALUE
O maior número positivo representável.
Number.MIN_SAFE_INTEGER
O menor inteiro bem representado em JavaScript (-(253 - 1)).
Number.MIN_VALUE
O menor número positivo representável - ou seja, o número positivo mais próximo de zero (sem ser o zero).
Number.NaN
Valor especial para representar um "não número".
Number.NEGATIVE_INFINITY
Valor especial para representar o infinito negativo; retornado em caso de overflow.
Number.POSITIVE_INFINITY
Valor especial para representar o infinito; retornado em caso de overflow.
Number.prototype
Permite adicionar propriedades ao objecto Number.

Métodos

Number.isNaN()
Determina se o valor passado é NaN.
Number.isFinite()
Determina se o valor passado é um número finito.
Number.isInteger()
Determina se o número passado é um inteiro.
Number.isSafeInteger()
Determina se o valor passado é um inteiro bem representado (número entre -(253 - 1) e 253 - 1).
Number.toInteger()
Usado para avaliar o valor passado e convertê-lo num inteiro (ou Infinity), mas foi removido.
Number.parseFloat()
O valor é o mesmo que parseFloat() de um objecto global.
Number.parseInt()
O valor é o mesmo que parseInt() de um objecto global.

Instâncias de Number

Todas as instâncias de Number herdam de Number.prototype. O objecto protótipo (prototype) do constructor de Number pode ser modificado para afectar todas as instâncias de Number.

Métodos

Number.prototype.toExponential()
Returns a string representing the number in exponential notation.
Number.prototype.toFixed()
Returns a string representing the number in fixed-point notation.
Number.prototype.toLocaleString()
Returns a string with a language sensitive representation of this number. Overrides the Object.prototype.toLocaleString() method.
Number.prototype.toPrecision()
Returns a string representing the number to a specified precision in fixed-point or exponential notation.
Number.prototype.toSource()
Returns an object literal representing the specified Number object; you can use this value to create a new object. Overrides the Object.prototype.toSource() method.
Number.prototype.toString()
Returns a string representing the specified object in the specified radix (base). Overrides the Object.prototype.toString() method.
Number.prototype.valueOf()
Returns the primitive value of the specified object. Overrides the Object.prototype.valueOf() method.

Exemplos

Usar  o objecto Number para atribuír valores a variáveis numéricas

O seguinte exemplo usa as propriedades do objecto Number para atribuír valores a várias variáveis numéricas: 

var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;

Limite inteiro para Number

O seguinte exemplo mostra o mínimo e máximo valores inteiros que podem ser representados como um objecto Number (para mais detalhes, consulta o standard do ECMAScript, capítulo 8.5 The Number Type):

var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;

Ao analisar dados que foram serializados para JSON, os valores inteiros fora deste limite são expectáveis de ficar corrompidos quando o analisador de JSON os tentar converter para o tipo Number. Como possível alternativa, usa String.

Usar Number para converter um objecto Date

O seguinte exemplo converte o objecto Date num valor numérico usando Number como função:

var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d));

Este código imprime "819199440000".

Converter strings numéricas para números

Number("123")     // 123
Number("")        // 0
Number("0x11")    // 17
Number("0b11")    // 3
Number("0o11")    // 9
Number("foo")     // NaN
Number("100a")    // NaN

Especificações

Especificação Estado Comentário
ECMAScript 1st Edition (ECMA-262) Standard Definição inicial. Implementado em JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'Number' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Number' in that specification.
Standard Adicionados novas propriedades e métodos: (EPSILON, isFinite, isInteger, isNaN, parseFloat, parseInt)

Compatibilidade dos browsers

Funcionalidade Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Funcionalidade Android Chrome para Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Ver também

Etiquetas do documento e contribuidores

 Contribuidores para esta página: Redeagle48, fscholz
 Última atualização por: Redeagle48,