Números aleatorios con JavaScript

JavaScript nos proporciona un método para obtener números aleatorios a través del método random de la clase Math, este método devuelve un número decimal entre 0 y 1::

<script type="text/javascript">
function ejemplo1() {
var aleatorio = Math.random();
alert("Número aleatorio entre 0 y 1: "+ aleatorio);} </script>

Con este código obtendremos el mencionado número, entre 0 y 1 y además lo veremos impreso en una ventana.

Pero seguramente nos será más util, un número entre 0 y 10 por ejemplo. Veamos como:

<script type="text/javascript">
function ejemplo2() {
var aleatorio = Math.round(Math.random()*10);
alert("Número aleatorio entre 0 y 10:"+aleatorio);}
</script>;

Con esto obtendremos un número entre 0 y 10, ambos incluídos. Lo único que hemos hecho ha sido multiplicar por 10 y luego redondear el número con el método round.

Si lo que queremos es un número entre 0 y cualquier otro número, entonces ya está, no necesitamos más, pero si queremos un intervalo distinto, como por ejemplo entre 15 y 40 este código no nos sirve, tenemos que hacerle un pequeño arreglo, como aquí:

<script type="text/javascript">
function aleatorio(a,b) {
         return Math.round(Math.random()*(b-a)+parseInt(a));
         }
</script>

Hemos creado una función que devuelve números aleatorios entre 'a' y 'b'.

Suponiendo que a = 15 y b = 40 primero se haría:   Math.random()*(40-15)
Lo que da un número entre 0 y 25 (con números decimales). Entonces sumamos 'a=15', para tener un número entre 15 y 40, todavía con decimales y por último, utilizamos Math.round() para eliminar los decimales.

En el Ejemplo 3 hemos construido un pequeño formulario que podemos rellenar con el míninmo y el máximo y cuando apretemos sobre el botón se mostrará el valor aleatorio.

« Números aleatorios