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