Saltear al contenido principal
Título curso Aprende a programar (con Javascript)

Métodos para tratamiento de números

Como hemos indicado anteriormente, casi todo en Javascript es un objeto o se puede tratar como tal, como es el caso de los tipos de datos ‘number’ y ‘string’ (*).

En este apartado vamos a ver el tratamiento de variables númericas como objetos, a los que podemos aplicarles algunos métodos para manipular sus valores. Esta parte, la completaremos con el siguiente apartado, donde veremos como el objeto Math nos dará más posibilidades para realizar cálculos y aplicar funciones matemáticas.

Saber más (*):  en Javascript existen tipos de datos simples (también llamados ‘primitivos‘), como ‘number’ y ‘string’ y tipos de datos complejos como ‘objeto’ (‘array’ se incluiría aquí también). Pues bien, Javascript tiene además los objetos ‘Number’ y ‘String’ que aunque son elementos distintos a los tipos de datos del mismo nombre, nos permiten tratar a estos últimos como objetos.

Aunque a este nivel de iniciación puede ser algo confuso de entender, basta por ahora con saber que se da esta circunstancia y que podemos utilizarla, como vamos a ver a través de una serie de propiedades y métodos que podemos asociarles.

Tratamiento de números

Si haces una operación con números decimales en Javascript, puede que en el resultado obtengas un gran número de decimales. Javascript dispone de diversos métodos para redondear cifras o acortar decimales. Pueden sernos muy útil para formatear resultados y cantidades varias: precios, porcentajes, etc… En todos los casos, el resultado que nos devuelven estos métodos es un ‘string’.

Los vemos:

Método toFixed

Permite fijar el número de decimales que tendrá el número, haciendo un redondeo.

Se aplica de la  siguiente forma: variableNumerica.toFixed(x) , siendo x el nº de decimales al que queremos redondear (0, 1, 2….).

Método toPrecision

En este caso nos permitirá fijar el número de dígitos (x) que podrá tener el número, haciendo el redondeo correspondiente. Notación: variableNumerica.toPosition(x)

Método toExponential

Nos devuelve el número representado en notación exponencial con un número de decimales determinado (x). Notación: variableNumerica.toExponential(x)

Ejemplo

Vemos un ejemplo con los diferentes métodos. Comprueba el resultado en el editor online. Luego puedes variar los argumentos que se pasan a los diferentes métodos para ver como se modifican los resultados:

Conversión de tipos de datos: númericos <–> cadena de texto

Recomendamos en el apartado de operadores numéricos, el asignar a una variable con tipo de datos de texto (string), el tipo de dato numérico (number), según el tratamiento que fuéramos a hacer de ese valor. Bien  por ese motivo o porque nos sea simplemente necesario hacer cambio entre esos dos data type, conviene saber que disponemos de una serie de funciones generales (no asociados a ningún objeto) y métodos que nos permiten realizar tal conversión. Vamos a ver algunas:

parseInt(«string«)

Convierte las cadenas de números a enteros. Si tiene parte decimal, la elimina sin redondear.  Ejemplo:

var numEntero = parseInt("7.824");  —> el valor de ‘numEntero’ es 7

Nota: recordar que el ‘punto’, en vez de la ‘coma’, es la separación de decimales en notación anglosajona

parseFloat(«string«)

En este caso, sí preserva la parte decimal:

var numDecimal = parseFloat("7.824");  —> el valor de ‘numDecimal’ es 7,824

Number(«string«)

En este caso convierte al número idéntico (sea entero o decimal) que contiene la cadena

var numero1 = Number("33");  –> numero1 tiene el valor 33

var numero2 = Number("33.1512");  –> numero2 tiene el valor 33,1512

variableNumerica.toString()

Método que nos convierte un número a su cadena de texto equivalente. Ejemplo:

la variable ‘numEjComotexto’ toma el valor «2017».

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies.    Más información
Privacidad