aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/reference/global_objects/number/index.html
blob: 77afbcf975fcc408914a6550fc17f3eeaad45789 (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
---
title: Number
slug: Web/JavaScript/Reference/Global_Objects/Number
tags:
  - JavaScript
  - Number
  - Referencia
  - Referência(2)
translation_of: Web/JavaScript/Reference/Global_Objects/Number
original_slug: Web/JavaScript/Referencia/Objetos_globales/Number
---
<div>{{JSRef}}</div>

<p><strong><code>Number</code></strong> es un objeto primitivo envolvente que permite representar y manipular valores numéricos cómo 37 o -9.25. El constructor Number contiene constantes y métodos para trabajar con números. Valores de otro tipo pueden ser convertidos a números usando la función Number().</p>

<h2 id="Sintaxis">Sintaxis</h2>

<pre class="syntaxbox notranslate">new Number(<em>value</em>);
var <em>a</em> = new Number('123'); // a === 123 es false
var <em>b</em> = Number('123'); // b === 123 es true
<em>a</em> instanceof Number; // es true
<em>b</em> instanceof Number; // es false</pre>

<h3 id="Parámetros" name="Parámetros">Parámetros</h3>

<dl>
 <dt><code>valor</code></dt>
 <dd>El valor numérico de un objeto que está siendo creado.</dd>
</dl>

<h2 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h2>

<p>Los principales usos del objeto <code>Number(valor)</code> son convertir un string u otro valor a uno de tipo numérico; si el argumento no puede ser convertido a un número, devuelve {{jsxref("NaN")}}.</p>

<h3 id="Literal_syntax">Literal syntax</h3>

<pre class="notranslate">123    // one-hundred twenty-three
123.0  // same
123 === 123.0  // true</pre>

<h3 id="Function_syntax">Function syntax</h3>

<pre class="notranslate">Number('123')  // retorna el número 123
Number('123') === 123  // retorna true

Number("unicorn")  // NaN
Number(undefined)  // NaN</pre>

<h2 id="Constructor">Constructor</h2>

<dl>
 <dt><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/Number"><code>Number()</code></a></dt>
 <dd>Crea un nuevo valor Numérico ( <code>Number</code> value).</dd>
</dl>

<h2 id="Propiedades">Propiedades</h2>

<dl>
 <dt>{{jsxref("Number.EPSILON")}}</dt>
 <dd>El intervalo más pequeño entre dos números representables</dd>
 <dt>{{jsxref("Number.MAX_SAFE_INTEGER")}}</dt>
 <dd>El número máximo representable en JavaScript (<code>2<sup>53</sup> - 1</code>).</dd>
 <dt>{{jsxref("Number.MAX_VALUE")}}</dt>
 <dd>El número más grande representable.</dd>
 <dt>{{jsxref("Number.MIN_SAFE_INTEGER")}}</dt>
 <dd>El número mínimo representable en JavaScript (<code>-(2<sup>53</sup> - 1)</code>).</dd>
 <dt>{{jsxref("Number.MIN_VALUE")}}</dt>
 <dd>El número más pequeño representable - que es el número positivo más cercano a cero (sin llegar a ser cero)-.</dd>
 <dt>{{jsxref("Number.NaN")}}</dt>
 <dd>Valor especial "no es número" NaN.</dd>
 <dt>{{jsxref("Number.NEGATIVE_INFINITY")}}</dt>
 <dd>Valor especial para representar infinitos negativos; retorno de un desborde de pila overflow.</dd>
 <dt>{{jsxref("Number.POSITIVE_INFINITY")}}</dt>
 <dd>Valor especial para representar infinitos positivos; retorno de un desborde de pila overflow.</dd>
 <dt>{{jsxref("Number.prototype")}}</dt>
 <dd>Permite la adición de propiedades a un objeto <code>Number</code>.</dd>
</dl>

<h2 id="Métodos">Métodos</h2>

<dl>
 <dt>{{jsxref("Number.isNaN()")}}</dt>
 <dd>Determina si el valor es NaN.</dd>
 <dt>{{jsxref("Number.isFinite()")}}</dt>
 <dd>Determina si el valor es un numero infinito.</dd>
 <dt>{{jsxref("Number.isInteger()")}}</dt>
 <dd>Determina si un numero es entero.</dd>
 <dt>{{jsxref("Number.isSafeInteger()")}}</dt>
 <dd>Determine si el valor pasado es un entero seguro (número entre <code>-(2<sup>53</sup> - 1)</code><code>2<sup>53</sup> - 1</code>).</dd>
 <dt><s class="obsoleteElement">{{jsxref("Number.toInteger()")}} {{obsolete_inline}}</s></dt>
 <dd><s class="obsoleteElement">Se usa para evaluar el valor pasado y convertirlo en un entero (or {{jsxref("Global_Objects/Infinity", "Infinity")}}), pero ha sido eliminado.</s></dd>
 <dt>{{jsxref("Number.parseFloat()")}}</dt>
 <dd>El valor es el mismo que {{jsxref ("parseFloat", "parseFloat ()")}} del objeto global.</dd>
 <dt>{{jsxref("Number.parseInt()")}}</dt>
 <dd>El valor es el mismo que {{jsxref("parseInt", "parseInt()")}} del objeto global.</dd>
</dl>

<h2 id="Instancias_Number">Instancias <code>Number</code></h2>

<p>Todas las instancias <code>Number</code> heredan de {{jsxref("Number.prototype")}}. El objeto prototipo del constructor de <code>Number</code> puede modificarse para aceptar a todas las instancias de <code>Number</code>.</p>

<h3 id="Métodos_2">Métodos</h3>

<dl>
 <dt>{{jsxref("Number.prototype.toExponential()" ,"Number.prototype.toExponential(<var>fractionDigits</var>)")}}</dt>
 <dd>Devuelve una cadena que representa el número en notación exponencial.</dd>
</dl>

<dl>
 <dt>{{jsxref("Number.prototype.toFixed()", "Number.prototype.toFixed(<var>digits</var>)")}}</dt>
 <dd>Devuelve una cadena que representa el número en notación de punto fijo.</dd>
 <dt>{{jsxref("Number.prototype.toLocaleString()", "Number.prototype.toLocaleString([<var>locales</var> [, <var>options</var>]])")}}</dt>
 <dd>Devuelve una cadena con una representación sensible al idioma de este número. Invalida el método {{jsxref ("Object.prototype.toLocaleString ()")}}.</dd>
</dl>

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

<h3 id="Ejemplo_Utilizando_el_objeto_Number_para_asignar_valores_a_variables_num.C3.A9ricas" name="Ejemplo:_Utilizando_el_objeto_Number_para_asignar_valores_a_variables_num.C3.A9ricas">Ejemplo: Utilizando el objeto <code>Number</code> para asignar valores a variables numéricas</h3>

<p>El siguiente ejemplo utiliza las propiedades del objeto <code>Number</code> para asignar valores a varias variables numéricas:</p>

<pre class="brush: js notranslate">const MásgrandeNum    = Number.MAX_VALUE;
const MáspequeNum     = Number.MIN_VALUE;
const infinitoNum     = Number.POSITIVE_INFINITY;
const notInfinitoNum  = Number.NEGATIVE_INFINITY;
const noEsNum         = Number.NaN;
</pre>

<h3 id="Ejemplo_Utilizando_el_objeto_Number_para_modificar_todos_los_objetos__Number" name="Ejemplo:_Utilizando_el_objeto_Number_para_modificar_todos_los_objetos__Number">Intervalo de enteros para Number</h3>

<p>El siguiente ejemplo muestra los valores máximos y minimos que pueden ser representados mediante el objeto Number: </p>

<p>Cuando se analizan datos que se han serializado en JSON, se puede esperar que los valores enteros que se encuentran fuera de este rango se corrompan cuando el analizador JSON los coacciona al tipo Number.</p>

<p>Una posible solución es usar {{jsxref ("String")}} en su lugar.</p>

<p>Los números más grandes se pueden representar usando el tipo {{jsxref ("BigInt")}}.</p>

<pre class="notranslate">const biggestInt  = Number.MAX_SAFE_INTEGER  //  (<code>2<sup>53</sup> - 1</code>) =&gt;  9007199254740991
const smallestInt = Number.MIN_SAFE_INTEGER  // -(<code>2<sup>53</sup> - 1</code>) =&gt; -9007199254740991</pre>

<h3 id="Ejemplo_Utilizando_el_objeto_Number_para_modificar_todos_los_objetos__Number" name="Ejemplo:_Utilizando_el_objeto_Number_para_modificar_todos_los_objetos__Number">Ejemplo: Utilizando el objeto <code>Number</code> para modificar todos los objetos <code>Number</code></h3>

<p>El siguiente ejemplo crea un objeto Number, miNúmero, luego añade la propiedad descripción a todos los objetos Number. Luego el valor es asignado a la propiedad descripción del objeto miNúmero.</p>

<pre class="brush: js notranslate">miNúmero = new Number(65);
Number.prototype.descripción = null;
miNúmero.descripción = "velocidad del viento";
</pre>

<h3 id="Utilizando_el_objecto_Number_para_transformar_un_objeto_Date">Utilizando el objecto <code>Number</code> para transformar un objeto <code>Date</code> </h3>

<p>El siguiente ejemplo convierte el objeto {{jsxref ("Date")}} a un valor numérico usando <code>Number</code>  como función:</p>

<pre class="notranslate"><code>var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d));</code></pre>

<p>Esto muestra "819199440000".</p>

<h3 id="Convierte_cadenas_numéricas_a_números">Convierte cadenas numéricas a números</h3>

<pre class="notranslate"><code>Number('123')     // 123
Number('12.3')    // 12.3
Number('123e-1')  // 12.3
Number('')        // 0
Number('0x11')    // 17
Number('0b11')    // 3
Number('0o11')    // 9
Number('foo')     // NaN
Number('100a')    // NaN</code></pre>

<pre dir="rtl">Number('-Infinity') //-Infinity</pre>



<h3 id="Vea_También">Vea También</h3>

<ul>
 <li>{{jsxref("Global_Objects/NaN", "NaN")}}</li>
 <li>{{jsxref("Global_Objects/Math", "Math")}}</li>
 <li>{{jsxref("Arithmetic operators")}} </li>
</ul>