aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/javascript/reference/global_objects/number/index.html
blob: b7d967a8f10cdb2558ac8bd49eb6051582c6b425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
---
title: Número
slug: Web/JavaScript/Reference/Global_Objects/Number
tags:
  - JavaScript
  - Número
  - Referência(2)
translation_of: Web/JavaScript/Reference/Global_Objects/Number
---
<div>{{JSRef("Global_Objects", "Number")}} </div>

<h2 id="Summary" name="Summary">Sumário</h2>

<p>O objeto JavaScript <strong><code>Number</code></strong> é um objeto encapsulado que permite você trabalhar com valores numéricos. Um objeto <code>Number</code> é criado utilizando o construtor <code>Number()</code>.</p>

<h2 id="Syntax" name="Syntax">Construtor</h2>

<pre class="syntaxbox">new Number(value);</pre>

<h3 id="Parameters" name="Parameters">Parâmetros</h3>

<dl>
 <dt><code>value</code></dt>
 <dd>O valor numérico do objeto sendo criado.</dd>
</dl>

<h2 id="Description" name="Description">Descrição</h2>

<p>Os principais usos para o objeto <code>Number</code> são:</p>

<ul>
 <li>Se o objeto não pode ser convertido para um número, é retornado <code>NaN</code>.</li>
 <li>Fora do contexo de um construtor (Ex., Sem o operador {{jsxref("Operators/new", "new")}}, <code>Number</code> pode ser utilizador para realizar uma conversão de tipo.</li>
</ul>

<h2 id="Properties" name="Properties">Propriedades</h2>

<dl>
 <dt>{{jsxref("Number.EPSILON")}} {{experimental_inline}}</dt>
 <dd>O menor intervalo entre dois números representáveis.</dd>
 <dt>{{jsxref("Number.MAX_SAFE_INTEGER")}} {{experimental_inline}}</dt>
 <dd>O inteiro máximo seguro em JavaScript (2<sup>53</sup> -1).</dd>
 <dt>{{jsxref("Number.MAX_VALUE")}}</dt>
 <dd>O maior número representável positivo.</dd>
 <dt>{{jsxref("Number.MIN_SAFE_INTEGER")}} {{experimental_inline}}</dt>
 <dd>O inteiro mínimo seguro em JavaScript (-(2<sup>53</sup> -1)).</dd>
 <dt>{{jsxref("Number.MIN_VALUE")}}</dt>
 <dd>O número mínimo representável positivo - isto é, o número positivo mais próximo de zero (sem ser zero na verdade).</dd>
 <dt>{{jsxref("Number.NaN")}}</dt>
 <dd>Valor especial que não é número.</dd>
 <dt>{{jsxref("Number.NEGATIVE_INFINITY")}}</dt>
 <dd>Valor especial representando infinito negativo; retornado no "overflow".</dd>
 <dt>{{jsxref("Number.POSITIVE_INFINITY")}}</dt>
 <dd> Valor especial representando infinito; retornado no "overflow".</dd>
 <dt>{{jsxref("Number.prototype")}}</dt>
 <dd>Permite a adição de propriedades a um objeto Number.</dd>
</dl>

<div>{{jsOverrides("Function", "properties", "MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY", "protoype")}}</div>

<h2 id="Methods" name="Methods">Methods</h2>

<dl>
 <dt>{{jsxref("Number.isNaN()")}} {{experimental_inline}}</dt>
 <dd>Determina se o valor passado é NaN.</dd>
 <dt>{{jsxref("Number.isFinite()")}} {{experimental_inline}}</dt>
 <dd>Determina se o tipo e o valor passado é um número finito.</dd>
 <dt>{{jsxref("Number.isInteger()")}} {{experimental_inline}}</dt>
 <dd>Determina se o tipo do valor passado é  inteiro.</dd>
 <dt>{{jsxref("Number.isSafeInteger()")}} {{experimental_inline}}</dt>
 <dd>Determina se o tipo do valor passado é um inteiro seguro (número entre -(2<sup>53</sup> -1) e 2<sup>53</sup> -1).</dd>
 <dt><s class="obsoleteElement">{{jsxref("Number.toInteger()")}} {{obsolete_inline}}</s></dt>
 <dd><s class="obsoleteElement">Usado para avaliar o valor passado e convertê-lo a um inteiro (ou infinito), mas foi removido.</s></dd>
 <dt>{{jsxref("Number.parseFloat()")}} {{experimental_inline}}</dt>
 <dd>O valor é o mesmo que {{jsxref("Global_Objects/parseFloat", "parseFloat")}} do objeto global.</dd>
 <dt>{{jsxref("Number.parseInt()")}} {{experimental_inline}}</dt>
 <dd>O valor é o mesmo que {{jsxref("Global_Objects/parseInt", "parseInt")}} do objeto global.</dd>
</dl>

<div>{{jsOverrides("Function", "methods", "isNaN")}}</div>

<h2 id="Number_instances" name="Number_instances">Instâncias<code> Number</code>  </h2>

<p>Toda instância <code>Number</code> herdam de {{jsxref("Number.prototype")}}. O objeto 'prototype' do construtor <code>Number</code> pode ser modificado para afetar todas as instâncias <code>Number</code>.</p>

<h3 id="Methods_of_number_instance" name="Methods_of_number_instance">Métodos</h3>

<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/prototype', 'Methods')}}</div>

<h2 id="Examples" name="Examples">Exemplos</h2>

<h3 id="Example:_Using_the_Number_object_to_assign_values_to_numeric_variables" name="Example:_Using_the_Number_object_to_assign_values_to_numeric_variables">Exemplo: Usando o objeto <code>Number</code> para atribuir valores a variáveis numéricas</h3>

<p>O seguinte exemplo usa as propriedades do objeto <code>Number</code> para atribuir valores a várias variáveis numéricas:</p>

<pre class="brush: 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;
</pre>

<h3 id="Example:_Using_Number_to_convert_a_Date_object" name="Example:_Using_Number_to_convert_a_Date_object">Exemplo: Intervalo inteiro para <code>Number</code></h3>

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

<pre class="brush: js">var maxInt = 9007199254740992;
var minInt = -9007199254740992;
</pre>

<p>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 <code>Number</code>. Usando <code>String </code>em vez disso é uma possível alternativa para se evitar um resultado indesejado.</p>

<h3 id="Example:_Using_Number_to_convert_a_Date_object" name="Example:_Using_Number_to_convert_a_Date_object"><span class="hidden"> </span>Exemplo: Usando <code>Number para converter um objeto</code> <code>Date</code></h3>

<p>O exemplo a seguir converte o objeto <code>Date</code> para um valor numérico usando <code>Number como uma função</code>:</p>

<pre class="brush: js">var d = new Date("December 17, 1995 03:24:00");
print(Number(d));
</pre>

<p>Isto resulta em "819199440000".</p>

<h3 id="Converte_'string'_numérica_em_números">Converte 'string' numérica em números</h3>

<pre class="brush: 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
</pre>

<h2 id="Especificações">Especificações</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Especificação</th>
   <th scope="col">Situação</th>
   <th scope="col">Comentário</th>
  </tr>
  <tr>
   <td>Primeiro edição ECMAScript. Implementado em JavaScript 1.1</td>
   <td>Padrão</td>
   <td>definição inicial.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.7', 'Number')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-number-objects', 'Number')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td>Novos métodos e propriedades adicionadas (EPSILON, isFinite, isInteger, isNaN, parseFloat, parseInt)</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilidade_de_navegadores">Compatibilidade de navegadores</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Configuração</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Suporte básico</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Configuração</th>
   <th>Android</th>
   <th>Chrome for Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Suporte básico</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
   <td>{{ CompatVersionUnknown() }}</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="See_also" name="See_also">Veja também</h2>

<ul>
 <li>{{jsxref("Global_Objects/NaN", "NaN")}}</li>
 <li>O objeto global {{jsxref("Global_Objects/Math", "Math")}}</li>
</ul>

<div id="cke_pastebin" style="position: absolute; top: 2173.92px; width: 1px; height: 1px; overflow: hidden; left: -1000px;"> </div>