Generare numeri casuali in JavaScript

Come generare numeri casuali interi o decimali con JavaScript

JavaScript come tutti i linguaggi di programmazione, consente di generare in modo efficace numeri in maniera casuale. Lo strumento che andremo a spiegare è molto utile ai programmatori per diverse ragioni e motivi, e ritengo sia una delle funzioni più importanti che anche un neofita debba conoscere.

In dettaglio, in questo spiegheremo in dettaglio in che modo generare, mostrare e utilizzare numeri generati casualmente, sia numeri interi (1-9) che numeri decimali (0,1 – 9,9). Tuttavia è possibile manipolare facilmente e a proprio piacimento i seguenti script per la generazione di numeri casuali più complessi, e adattarli alle proprie esigenze.

Come generare numeri casuali con JavaScript

Math.random()

Con JavaScript è particolarmente semplice generare numeri casuali (o random) grazie alla funzione nativa Math.random(), che restituisce un valore numerico casuale ad ogni avvio dello script; probabilmente è anche il metodo più facile da ricordare e che può essere usato con facilita all’interno di una funzione.

Ecco degli esempi:

console.log(Math.random());
     //numero casuale. es.: 0.6688476276223716 

oppure:

var rand = Math.random();
console.log(rand);
     //numero casuale. es.: 0.5893602802117679 

Come puoi vedere con Math.random() puoi già ottenere un valore random da utilizzare nel tuo codice, senza ulteriori aggiunte. Tuttavia è possibile rifinire lo script per ottenere risultati differenti e più precisi, come ad esempio numeri interi.

Numeri interi con Math.floor()

Per generare numeri interi con JavaScript attraverso l’uso della funzione Math.random(), abbiamo bisogno di apportare una leggera modifica allo script, in modo di eseguire una moltiplicazione e un arrotondamento del valore originale.

Dunque, allo script dovremo integrare Math.floor() per un arrotondamento del valore originario al suo numero intero più vicino, che a sua volta dovrà essere moltiplicato per 10 (o per 100 o 1000 per ottenere valori più grandi).

var randInt = Math.floor(Math.random()*10);

console.log(randInt);
      // es.: 4

Sostituendo il valore numerico di moltiplicazione (nel caso precedente è 10) si possono ottenere risultati differenti:

  • 10 per generare numeri tra 1 e 9;
  • 100 per numeri tra 1 e 99;
  • 101 per numeri tra 1 e 100;
  • 1000 per numeri tra 1 e 999;

Numeri decimali con toFixed()

Math.random() genera in automatico numeri decimali, seppur con numerosi valori oltre la virgola. Per ottenere risultati più precisi con un minor numero di valori dopo la virgola, possiamo fare uso del metodo aggiuntivo toFixed(), che riduce automaticamente il numero alla dimensione prestabilita.

var randDec = Math.random().toFixed(3);

console.log(randDec);
     // es.: 0.562

toFixed(3) equivale a 3 numeri oltre la virgola, se fosse stato 5 ad esempio il risultato sarebbe potuto essere simile a “0.25397“.

Utilizzando esclusivamente toFixed() come mostrato, si otterranno valori solo con lo 0 (zero) iniziale. Possiamo aumentare questo numero aggiungendo una moltiplicazione (come mostrato negli esempi dei numeri interi).

var randDec = (Math.random()*10).toFixed(2);

console.log(randDec);
      // es.: 5.88

Iscriviti alla nostra Newsletter qui e seguici su Facebook per aggiornamenti!


Articoli recenti:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

CAPTCHA