Operazioni matematiche in JavaScript: l'oggetto Math

di: Luca Ruggiero     28 Agosto 2002

Qualche esempio pratico

Sono numerose le applicazioni che è possibile sviluppare servendosi del calcolo matematico. È possibile generare routine dinamiche che estraggono i propri valori da variabili che svolgono al loro interno dei calcoli matematici. Per rendere praticamente l'idea e capire fino in fondo come utilizzare un oggetto che si rifà alla materia scolastica più odiata in generale :-). Creiamo due servizi molto utili ed interessanti, un gestore di banner casuale ed un modulino per la conversione da Lire ad Euro.

Generare banner casuali in Javascript

Realizziamo il primo degli esempi citati. Reperiamo un numero qualsiasi di banner (o di immagini qualsiasi, trattandosi solo di un esempio) a ciascuno dei quali assoceremo un link, poi serviamoci del seguente codice per creare il servizio:

function Banner() {
   var Immagini = new Array();
       Immagini[0]="/images/linguaggi/math_lukeonweb.gif";
       Immagini[1]="/images/linguaggi/math_html.gif";
   var Url = new Array();
       Url[0]="http://www.lukeonweb.net";
       Url[1]="http://www.html.it";
   var Banners = Math.floor(Math.random() * Immagini.length);
       document.write("<a href=" + Url[Banners] + "><img src=" + Immagini[Banners] + " border=0></a>");
}
Banner();

Inseriamo il codice in un file di testo con estensione .js (noi lo abbiamo chiamato banner_casuali.js) ed inseriamolo nel punto della pagina prescelto per mostrare i banner mediante l'inclusione:

<script type="text/javascript" src="banner_casuali.js"></script>

Esaminiamo la parte clou dello script, mi riferisco alla riga riportante il seguente codice:

var Banners = Math.floor(Math.random() * Immagini.length);

Abbiamo creato due Array(), uno per intabellare tutte le immagini ed uno per tutte le url, associate tra loro mediante l'identificatore numerico progressivo dell'Array(), a questo punto entra in gioco Math(), eseguiamo il prodotto di Math.random() per il numero totale di immagini generando grazie a Math.floor() un arrotondamento ad un numero intero che equivale ai banner totali, ecco un esempio:

Per notare il cambiamento del banner e del relativo link è necessario aggiornare la pagina.

Convertitore Lire - Euro in Javascript

Passiamo al secondo esempio, un convertitore Lire Euro, realizziamo un semplice modulo:

<form name="convertitore">
   Converti da ÂĢire a €uro: <input type="text" name="lire">
   <input type="button" value="Converti" onClick="Converti()">
</form>

Ecco lo script di riferimento:

<script type="text/javascript"">
 <!--
  function Converti() {
     var lire = document.convertitore.lire.value;
     var converti = lire / 1936.27;
     var risultato = Math.round(converti * 100) / 100;
        alert (risultato);
  }
 //-->
</script>

Se avessimo scelto di mostrare il risultato della variabile converti scegliendo come valore ad esempio 1000 Lire (che nostalgia...!) il risultato sarebbe stato questo, utilizziamo quindi Math.round() per arrotondare all'intero più vicino, in questo modo:

Converti da ÂĢire a €uro:

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti