Trabajando con números (II) métodos numericos

Continuamos trabajando con los números en Javascript, en este caso utilizando los métodos numéricos y en la siguiente entrada veremos los métodos matemáticos. De modo que comencemos…

toString()

Devuelve un número como una cadena:

var x = 123;
x.toString();            // devuelve 123 como variable x
(123).toString();        // devuelve 123 como literal 123
(100 + 23).toString();   // devuelve 123 como expresion 100 + 23 

toExponential()

Devuelve una cadena, con un número redondeado y escrita usando la notación exponencial.

Utiliza un parámetro que define el número de caracteres por detrás del punto decimal:

var x = 9.656;
x.toExponential(2);     // devuelve 9.66e+0
x.toExponential(4);     // devuelve 9.6560e+0
x.toExponential(6);     // devuelve 9.656000e+0

tofixed()

Este método devuelve una cadena con un número determinado de decimales:

var x = 9.656;
x.toFixed(0);           // devuelve 10
x.toFixed(2);           // devuelve 9.66
x.toFixed(4);           // devuelve 9.6560
x.toFixed(6);           // devuelve 9.656000

toPrecision()

Devuelve una cadena con un número de la longitud indicada

var x = 9.656;
x.toPrecision();        // devuelve 9.656
x.toPrecision(2);       // devuelve 9.7
x.toPrecision(4);       // devuelve 9.656
x.toPrecision(6);       // devuelve 9.65600

valueOf()

Este método se utiliza para convertir objetos en números, ya que como vimos los números se pueden definir como objetos, y de esta forma se vuelven a datos primitivos, aunque no debería de tener que usarse ya que se recomienda que no se utilicen los números como objetos.

var x = 123;
x.valueOf();            // devuelve 123 como variable x
(123).valueOf();        // devuelve 123 como literal 123
(100 + 23).valueOf();   // devuelve 123 como expresion 100 + 23

Conversión de variables a números

Existen una serie de métodos globales de JS que nos servirán para nuestro proposito de convertir variables a números, estos métodos son:

number()

Se utiliza para convertir variables a números de forma muy simple:

x = true;
Number(x);        // devuelve 1
x = false;     
Number(x);        // devuelve 0
x = new Date();
Number(x);        // devuelve 1404568027739 que es el tiempo en milisegundos desde 1/1/1970
x = "10"
Number(x);        // devuelve 10
x = "10 20"
Number(x);        // devuelve NaN

parseInt() y parseFloat()

Analiza una cadena y devuelve el valor del primer número que encuentre, aunque permite espacios en blanco:

parseInt("10");         // devuelve 10
parseInt("10.33");      // devuelve 10
parseInt("10 20 30");   // devuelve 10
parseInt("10 years");   // devuelve 10
parseInt("years 10");   // devuelve NaN