Métodos para números Javascript
Métodos que vamos a ver
Son los siguientes:
Métodos y propiedades para números
Los valores primitivos (como 3.14 o 2014) no pueden tener propiedades y métodos (porque no son objetos).
Pero con JavaScript, los métodos y propiedades también están disponibles para valores primitivos, porque JavaScript trata los valores primitivos como objetos cuando ejecuta métodos y propiedades.
Método toString()
El método toString() devuelve un número como un string. Todos los métodos para números se pueden utilizar en cualquier tipo de números (literales, variables o expresiones).
Ejm
<!DOCTYPE html> <html> <body> <h2>Javascript métodos para números</h2> <p>El método toString() convierte un número en un string</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br />" + (123).toString() + "<br />" + (100 + 23).toString(); </script> </body> </html>
El método toExponential()
toExponential() devuelve una cadena, con un número redondeado y escrito usando notación exponencial.
Un parámetro define el número de caracteres detrás del punto decimal.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Methods</h2> <p>The toExponential() method returns a string, with the number rounded and written using exponential notation.</p> <p>An optional parameter defines the number of digits behind the decimal point.</p> <p id="demo"></p> <script> var x = 9.656; document.getElementById("demo").innerHTML = x.toExponential() + "<br>" + x.toExponential(2) + "<br>" + x.toExponential(4) + "<br>" + x.toExponential(6); </script> </body> </html>
El parámetro es opcional. Si no lo especifica, JavaScript no redondeará el número.
El método toFixed()
toFixed() devuelve una cadena, con el número escrito con un número específico de decimales
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Methods</h2> <p>The toFixed() method rounds a number to a given number of digits.</p> <p>For working with money, toFixed(2) is perfect.</p> <p id="demo"></p> <script> var x = 9.656; document.getElementById("demo").innerHTML = x.toFixed(0) + "<br>" + x.toFixed(2) + "<br>" + x.toFixed(4) + "<br>" + x.toFixed(6); </script> </body> </html>
toFixed (2) es perfecto para trabajar con dinero.
El método toPrecision()
toPrecision() devuelve una cadena, con un número escrito con una longitud especificada.
Ejm
<!DOCTYPE html> <html> <body> <h2>Métodos Javascript para números</h2> <p>El método toPrecision() devuelve un string, con un número escrito con una determinada longitud</p> <p id="demo"></p> <script> var x = 9.656; document.getElementById("demo").innerHTML = x.toPrecision() + "<br />" + x.toPrecision(2) + "<br />" + x.toPrecision(4) + "<br />" + x.toPrecision(6); </script> </body> </html>
El método valueOf()
valueOf() devuelve un número como un número.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Methods</h2> <p>The valueOf() method returns a number as a number:</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.valueOf() + "<br>" + (123).valueOf() + "<br>" + (100 + 23).valueOf(); </script> </body> </html>
En JavaScript, un número puede ser un valor primitivo (typeof = número) o un objeto (typeof = object).
El método valueOf() se usa internamente en JavaScript para convertir objetos Number en valores primitivos.
No hay razón para usarlo en tu código.
Todos los tipos de datos de JavaScript tienen un método valueOf() y toString().
Transformando variables a números
Hay 3 métodos de JavaScript que se pueden utilizar para convertir variables en números:
- El método number()
- El método parseInt()
- El método parseFloat()
Estos métodos no son métodos numéricos, sino métodos JavaScript globales.
Métodos globales de JavaScript
Los métodos globales de javaScript se pueden utilizar en todos los tipos de datos de JavaScript. Estos son los métodos más relevantes cuando se trabaja con números:
Método | Descripción |
---|---|
Number() | Devuelve un número, convertido a partir de su argumento |
parseFloat() | Analiza su argumento y devuelve un número de punto flotante |
parseInt() | Analiza su argumento y devuelve un número entero |
El método Number()
Number() se puede utilizar para convertir variables de JavaScript en números.
Ejm
Number(true); // returns 1 Number(false); // returns 0 Number("10"); // returns 10 Number(" 10"); // returns 10 Number("10 "); // returns 10 Number(" 10 "); // returns 10 Number("10.33"); // returns 10.33 Number("10,33"); // returns NaN Number("10 33"); // returns NaN Number("John"); // returns NaN
Si el número no se puede convertir, se devuelve NaN (No es un número).
El método Number() usado en fechas
Number() también puede convertir una fecha en un número
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Global Methods</h2> <p>The Number() method can convert a date to a number:</p> <p id="demo"></p> <script> var x = new Date("2017-09-30"); document.getElementById("demo").innerHTML = Number(x); </script> </body> </html>
El método parseInt()
parseInt() analiza una cadena y devuelve un número entero. Se permiten espacios. Solo se devuelve el primer número.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Global Functions</h2> <p>The global JavaScript function parseInt() converts strings to numbers:</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = parseInt("10") + "<br>" + parseInt("10.33") + "<br>" + parseInt("10 6") + "<br>" + parseInt("10 years") + "<br>" + parseInt("years 10"); </script> </body> </html>
Si el número no se puede convertir, se devuelve NaN (No es un número).
El método parseFloat()
parseFloat() analiza una cadena y devuelve un número. Se permiten espacios. Solo se devuelve el primer número.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Global Methods</h2> <p>The parseFloat() method converts strings to numbers:</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = parseFloat("10") + "<br>" + parseFloat("10.33") + "<br>" + parseFloat("10 6") + "<br>" + parseFloat("10 years") + "<br>" + parseFloat("years 10"); </script> </body> </html>
Si el número no se puede convertir, se devuelve NaN (No es un número).
Propiedades para números
Encontramos las siguientes:
Propiedad | Descripción |
---|---|
MAX_VALUE | Devuelve el mayor número posible en JavaScript. |
MIN_VALUE | Devuelve el menor número posible en JavaScript. |
POSITIVE_INFINITY | Representa infinito (devuelto en desbordamiento. |
NEGATIVE_INFINITY | Representa infinito negativo (devuelto en desbordamiento. |
NaN | Representa un valor “No es un número. |
Javascript MIN_VALUE y MAX_VALUE
MAX_VALUE devuelve el mayor número posible en JavaScript.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Object Properties</h2> <p>MAX_VALUE returns the largest possible number in JavaScript.</p> <p id="demo"></p> <script> var x = Number.MAX_VALUE; document.getElementById("demo").innerHTML = x; </script> </body> </html>
MIN_VALUE devuelve el número más bajo posible en JavaScript.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Object Properties</h2> <p>MIN_VALUE returns the smallest number possible in JavaScript.</p> <p id="demo"></p> <script> var x = Number.MIN_VALUE; document.getElementById("demo").innerHTML = x; </script> </body> </html>
Las propiedades numéricas no se pueden usar en variables
Las propiedades numéricas pertenecen al contenedor de objetos numéricos de JavaScript llamado Number. Solo se puede acceder a estas propiedades como Number.MAX_VALUE.
El uso de myNumber.MAX_VALUE, donde myNumber es una variable, expresión o valor, devolverá undefined.
Ejm
<!DOCTYPE html> <html> <body> <h2>JavaScript Number Object Properties</h2> <p>Using a Number property on a variable, expression, or value, will return undefined:</p> <p id="demo"></p> <script> var x = 6; document.getElementById("demo").innerHTML = x.MAX_VALUE; </script> </body> </html>
El ejm de arriba devolverá un valor undefined.