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.