Número
======

Sumário
-------

O objeto JavaScript **`Number`** é um objeto encapsulado que permite você trabalhar com valores numéricos. Um objeto `Number` é criado utilizando o construtor `Number()`.

Construtor
----------
```

new Number(value);
```

### Parâmetros

`value`

O valor numérico do objeto sendo criado.

Descrição
---------

Os principais usos para o objeto `Number` são:

* Se o objeto não pode ser convertido para um número, é retornado `NaN`.
* Fora do contexo de um construtor (Ex., Sem o operador `new`, `Number` pode ser utilizador para realizar uma conversão de tipo.
Propriedades
------------

`Number.EPSILON` 
Experimental

O menor intervalo entre dois números representáveis.

`Number.MAX_SAFE_INTEGER` 
Experimental

O inteiro máximo seguro em JavaScript (253 -1).

`Number.MAX_VALUE`

O maior número representável positivo.

`Number.MIN_SAFE_INTEGER` 
Experimental

O inteiro mínimo seguro em JavaScript (-(253 -1)).

`Number.MIN_VALUE`

O número mínimo representável positivo - isto é, o número positivo mais próximo de zero (sem ser zero na verdade).

`Number.NaN`

Valor especial que não é número.

`Number.NEGATIVE_INFINITY`

Valor especial representando infinito negativo; retornado no "overflow".

`Number.POSITIVE_INFINITY`

Valor especial representando infinito; retornado no "overflow".

`Number.prototype` (en-US)

Permite a adição de propriedades a um objeto Number.

Methods
-------

`Number.isNaN()` 
Experimental

Determina se o valor passado é NaN.

`Number.isFinite()` 
Experimental

Determina se o tipo e o valor passado é um número finito.

`Number.isInteger()` 
Experimental

Determina se o tipo do valor passado é inteiro.

`Number.isSafeInteger()` 
Experimental

Determina se o tipo do valor passado é um inteiro seguro (número entre -(253 -1) e 253 -1).

~~`Number.toInteger()`~~

~~Usado para avaliar o valor passado e convertê-lo a um inteiro (ou infinito), mas foi removido.~~

`Number.parseFloat()` 
Experimental

O valor é o mesmo que `parseFloat` do objeto global.

`Number.parseInt()` 
Experimental

O valor é o mesmo que `parseInt` do objeto global.

Instâncias `Number`
-------------------

Toda instância `Number` herdam de `Number.prototype` (en-US). O objeto 'prototype' do construtor `Number` pode ser modificado para afetar todas as instâncias `Number`.

### Métodos

{{page('/pt-BR/docs/Web/JavaScript/Reference/Global\_Objects/Number/prototype', 'Methods')}}Exemplos
--------

### Exemplo: Usando o objeto `Number` para atribuir valores a variáveis numéricas

O seguinte exemplo usa as propriedades do objeto `Number` para atribuir valores a várias variáveis numéricas:


```js
var biggestNum = Number.MAX\_VALUE;
var smallestNum = Number.MIN\_VALUE;
var infiniteNum = Number.POSITIVE\_INFINITY;
var negInfiniteNum = Number.NEGATIVE\_INFINITY;
var notANum = Number.NaN;
```

### Exemplo: Intervalo inteiro para `Number`

O seguinte exemplo mostra os valores inteiros mínimo e máximo que podem ser representados como objeto `Number` (para mais detalhes, referir-se ao padrão EcmaScript standard (EcmaScript standard), capítulo *8.5 O tipo de número (The Number Type*):


```js
var maxInt = 9007199254740992;
var minInt = -9007199254740992;
```


Ao analisar dados que foram serializados para JSON, valores inteiros que caem fora desse intervalo podem ser corrompidos quando o analisador JSON os converte ao tipo `Number`. Usando `String` em vez disso é uma possível alternativa para se evitar um resultado indesejado.

### Exemplo: Usando `Number para converter um objeto Date`

O exemplo a seguir converte o objeto `Date` para um valor numérico usando `Number como uma função`:


```js
var d = new Date("December 17, 1995 03:24:00");
print(Number(d));
```


Isto resulta em "819199440000".

### Converte 'string' numérica em números


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

Especificações
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-number-objects |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* `NaN`
* O objeto global `Math`