teamfactorizacion

Team Factorización

JavaScript

Manejo numérico

Números

25 de Septiembre de 2022

JavaScript tiene un solo tipo de número. Los números se pueden escribir con o sin decimales. Ejemplo:

                        let x = 3.14;    // número con decimales
                       let y = 3;       // número sin decimales
                       let x = 123e5;    // 12300000
                       let y = 123e-5;   // 0.00123
                       

Los números extra grandes o extra pequeños se pueden escribir con notación científica (exponente).

Precisión de enteros

Los números enteros (números sin notación de punto o exponente) tienen una precisión de hasta 15 dígitos. El número máximo de decimales es 17.

Precisión de float

La aritmética de punto flotante no siempre es 100% precisa:
let x = 0.2 + 0.1;
Para resolver el problema anterior, es útil multiplicar y dividir:
let x = (0.2 * 10 + 0.1 * 10) / 10;

Escrito por:

Erick González Gallegos

Métodos numéricos

25 de Septiembre de 2022

Métodos numéricos y propiedades

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.

Número a string

El método toString() retorna un número como un string. Todos los métodos numéricos se pueden usar en cualquier tipo de números (literales, variables o expresiones). Ejemplo:

                        let x = 123;
                       x.toString();

Metodo toExponential

toExponential() retorna un string, con un número redondeado y escrito en notación exponencial. Un parámetro define el número de caracteres detrás del punto decimal. El parámetro es opcional. Si no lo especifica, JavaScript no redondeará el número.

Decimales especificos

toFixed() retorna un string, con el número escrito con un número específico de decimales.

                        let x = 9.656;
                       x.toFixed(0);   // Devuelve el número sin decimales
                       

Metodo toPrecision

toPrecision() retorna un string, con un número escrito con una longitud especificada.

Metodo valueOf

valueOf() retorna un número como un número. En JavaScript, un número puede ser un valor primitivo (typeof = número) o un objeto (typeof = objeto). El valueOf() método se usa internamente en JavaScript para convertir objetos numéricos en valores primitivos. No hay ninguna razón para usarlo en su código. Todos los tipos de datos de JavaScript tienen un valueOf() y un método toString().

Conversión de variables a números

Hay 3 métodos de JavaScript que se pueden usar para convertir variables en números (Estos métodos no son métodos numéricos, sino métodos globales de JavaScript):

  • el método Number()
  • el método parseInt()
  • el método parseFloat()

Métodos globales de JavaScript

Los métodos globales de JavaScript se pueden usar 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() Retorna a número, convertido desde su argumento.
parseFloat() Analiza su argumento y retorna a un punto de número float.
parseInt() Analiza su argumento y lo retorna a integer.

String a numero

Number() se puede utilizar para convertir variables de JavaScript en números. Si el número no se puede convertir, NaN (No un Número) se retorna. parseInt() analiza un string y retorna un número entero. Se permiten espacios. Solo se retorna el primer número. Si el número no se puede convertir, NaN (No un Número) se retorna. parseFloat() analiza un string y retorna un número. Se permiten espacios. Solo se retorna el primer número. Si el número no se puede convertir, NaN (No un Número) se retorna.

Propiedades de número

Propiedad Descripción
MAX_VALUE Retorna el número más alto posible en JavaScript.
MIN_VALUE Retorna el número más corto posible en JavaScript.
POSITIVE_INFINITY Representa infinidad (retorna en overflow)
NEGATIVE_INFINITY Representa infinidad negativa (retorna en overflow)
NaN Representa un valor “No-un-Número”

Las propiedades numéricas no se pueden usar en variables.

Escrito por:

Erick González Gallegos

Objeto matemático

26 de Septiembre de 2022

Objeto Math

JavaScript tiene un solo tipo de número. Los números se pueden escribir con o sin decimales. Ejemplo:

Propiedades Matemáticas

Propiedad Descripción
E Retorna el número de Euler.
PI Retorna el número PI.
SQRT2 Retorna la raiz cuadrada de 2
LN2 Retorna el logaritmo natural de 2.
LN10 Retorna el logaritmo natural de 10.
LOG2E Retorna el valor del logaritmo de E en base 2.

Número a entero

Hay 4 métodos comunes para redondear un número a un entero:

Métodos Descripción
Math.round(x) Retorna x redondeado a su entero más cercano.
Math.ceil(x) Retorna x redondeado por encina de su entero más cercano.
Math.floor(x) Retorna x redondeado por debajo de su entero más cercano.
Math.trunc(x) Retorna la parte entera de X (nuevo en ES6)

Métodos matemáticos

Método Descripión
abs(x) Retorna el valor absoluto de x.
acos(x) Retorna el arcocoseno en x, en radianes.
acosh(x) Retorna el arcocoseno hiperbólico de x.
atan(x) Retorna la arcotangente de x como un valor numérico entre -PI/2 y PI/2 radianes.
cbrt(x) Retorna la raíz cúbica de x.
exp(x) Retorna el valor de Ex.
log(x) Retorna el logaritmo natural (base E) de x.
max(x, y, z, ..., n) Retorna el número con el valor más alto.
pow(x, y) Retorna el valor de x a la potencia de y.
random() Retorna un número aleatorio entre 0 y 1.
sqrt(x) Retorna la raíz cuadrada de x.
tan(x) Retorna la tangente de un ángulo.
Escrito por:

Erick González Gallegos

Aleatorio

25 de Septiembre de 2022

Math.random() retorna un número aleatorio entre 0 (inclusive) y 1 (exclusivo).

Enteros aleatorios

Math.random() usada con Math.floor() puede servir para retornar enteros aleatorios. No existen los enteros de JavaScript. Estamos hablando de números sin decimales aquí.

                        Math.floor(Math.random() * 10);   // Retorna un entero aleatorio entre 0 y 9
                       Math.floor(Math.random() * 100) + 1;  // Retorna un entero aleatorio entre 1 y 100

Función aleatoria adecuada

Como puede ver en los ejemplos anteriores, podría ser una buena idea crear una función aleatoria adecuada para usarla con todos los enteros aleatorios. Esta función de JavaScript siempre devuelve un número aleatorio entre min (incluido) y max (excluido):

                        function getRndInteger(min, max) {
                           return Math.floor(Math.random() * (max - min) ) + min;
                       }

Esta función de JavaScript siempre devuelve un número aleatorio entre min y max (ambos incluidos):

                        function getRndInteger(min, max) {
                           return Math.floor(Math.random() * (max - min + 1) ) + min;
                       }
Escrito por:

Erick González Gallegos