logo 3con14 js cod
logo 3con14 js cod
  • Javascript
  • Conceptos
  • Ejemplos
  • Tips & Tricks
  • ► TAREAS
 
 
icon html5
icon css3
mlogo 3con14 js cod

  • Inicio
  • Conceptos
  • Los números en JavaScript

Los números en JavaScript

Trabajar con números es esencial en cualquier lenguaje de programación, y en JavaScript su tratamiento es algo especial, es por eso que vamos a dedicarles un tiempo  para aprender a manejarlos, aunque las operaciones básicas con operadores aritméticos se explican por sí mismas.

Vamos a ver el aparato matemático de JavaScript viendo como se trata de algo muy sencillo.

Los números

Comencemos desde el principio, debemos diferenciar entre lo que es un número entero (positivo como 5, o negativo como -3) y uno real, con decimales (como 7.81, o como -29.3) ya que en JS los números decimales se marcan con un punto (.). De forma predeterminada JS presenta los números en base 10 (decimal), pero se pueden utilizar otras bases, la base 16 (hexadecimal), la base 8 (octal) o la base 2 (binaria).

Aunque a la hora de diferenciarlos para declararlos no hay que hacer nada, JS los reconoce y trabaja con ellos, es decir, no hay que decirle de que tipo son como en otros lenguajes de programación que diferencian entre enteros cortos y largos y reales cortos y largos y hay que indicarlo expresamente antes de poder usarlos.

var x = 7;        // número entero
var y = 7.8; // número real (decimal)
var z = 123e4; // 1230000
var n = 456e-5; // 0.00456

Como vemos en la declaración de variables de arriba podemos utilizar notación científica utilizando e como 10 elevado a n. Todo esto es muy interesante pero JS tiene un problema con los números y es que esta limitado a números enteros con 15 dígitos y a 17 decimales, pero eso no es todo en ocasiones las operaciones con números decimales pueden dar errores incomprensibles, como por ejemplo:

->  0.1+0.7   // 0.7999999999999999
-> 0.1+0.2 // 0.30000000000000004

Lo cual es algo sorprendente, pero afortunadamente puede arreglarse (aunque no es la solución) si anulamos los decimales y jugamos un poco con los números, por ejemplo, en el ejemplo anterior bastaría con multiplicar por 10 cada factor y después de realizar la operación dividir entre 10. Ya que los errores no se cometen con números enteros.

El infinito

Cuando estamos trabajando con números es bastante común que obtengamos el resultado infinito cuando se realizan algunas operaciones como en las divisiones entre cero, o cuando estamos utilizando números muy grandes o muy pequeños (exponentes de 10 superiores a 300). En ese momento aparecerán los valores Infinity y -Infinity.

->  +5/0   // +Innfinity
-> -8/0 // -Infinity

NaN

Bajo estas siglas se esconde el famoso Not a Number que aparece cuando hacemos una operación con elementos que no son números…

->  7 * 'casa'   // NaN
-> 9 + '3' // 93 porque concatena
-> 9 * '3' // 27 convierte a número la cadena '3'
-> '' + 7 // '7'
-> '' + 7 * 5 // '35'
-> 7 +''*5 // 7

No obstante si la cadena puede interpretarse como un valor, JS lo hará y realizará la operación. De este modo se puede identificar por medio de la función isNaN() si nuestro valor es o no un número, devolviendo true en caso de que no sea un número y false en caso de que sí lo sea.

 

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, éstos son:

parseInt() y parseFloat()

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

parseInt(8.32)             // 8
parseInt('8.32') // 8
parseInt('8.32 mesa') // 8
parseInt('mesa 8.32') // NaN
parseInt('8.32 75 1.236') // 8
parseInt('75 8.32 1.236') // 75

parseFloat(2.035)                  // 2.035
parseFloat('2.035') // 2.035
parseFloat('    2.035') // 2.035
parseFloat('2.035 casa') // 2.035
parseFloat('casa 2.035') // NaN
parseFloat('2.035 3.6 200') // 2.035
parseFloat('78 2.035 3.6 200') // 78

number()

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

Number(true)        // 1
Number(false) // 0
Number(10) // 10
Number(10.037) // 10.037
Number('10.037') // 10.037
Number('25 78') // NaN
Number('25 casa') // NaN
Number(new Date()) // 1522238853606 milisegundos desde 1/1/1970

Métodos numéricos

toString()

Convierte un número en una cadena

let x = 234.7
x.toString() // '234.7'

toExponential()

Devuelve un número en notación científica

x = 789456
x.toExponential() // "7.89456e+5"
x.toExponential(2) // "7.89e+5"
x.toExponential(3) // "7.895e+5"
  • Anterior

Conceptos

  • Variables y sintaxis básica
  • Document Object Model (DOM)
  • Operadores en JavaScript
  • Estructuras de control de flujo
  • Concepto de Función
  • Los números en JavaScript

Recursos

  • Visual Studio Code
  • Sublime Text
  • Prepros
  • CodePen .
  • Dillinger / MDP
Mas...

Mas...

codepen

uniwebsidad

overapi

can i use

w3schools

mdn

eloquent

Archivo .PDF del Libro

js arkaitz

Licencias ...

3con14─LAB 1998 - 2021
www.3con14.biz
(cc) Jesús Plaza M.
─ Otros Reconocimientos ─

Visitas ...

Hoy ... 4

Ayer ... 51

Week 206

Mes ... 55

TOTAL ... 159861

(cc) 3con14. Esta obra está bajo Licencia
Creative Commons Atribución-No Comercial-Compartir Igual 4.0

  • Javascript
  • Conceptos
  • Ejemplos
  • Tips & Tricks
  • ► TAREAS