Argomenti trattati: l'oggetto Math e le funzioni matematiche.
L'oggetto Math è un'oggetto incorporato JavaScript, che rappresenta delle funzioni e delle proprietà matematiche.
Metodi | |
---|---|
abs(num) | Restituisce il valore assoluto di num |
acos(num) | Restituisce l'arcocoseno di num |
asin(num) | Restituisce l'arcoseno di num |
atan(num) | Restituisce l'arcotangente di num |
atan2 (num1, num2) | Restituisce l'angolo, espresso in radianti, compreso tra l'asse X e il punto specificato (y,x). |
ceil(num) | Restituisce il valore intero minimo che risulta maggiore o uguale all'argomento numerico specificato |
cos(num) | Restituisce il coseno di num |
exp(num) | Restituisce l'esponente di num |
floor(num) | Restituisce il valore passato arrotondato all'intero precedente |
log(x) | Restituisce il logaritmo naturale di num |
max (num1, num2) | Restituisce il maggiore tra num1 e num2 |
min(num1,num2) | Restituisce il minore tra num1 e num2 |
pow(num1, num2) | Restituisce num1 elevato alla potenza di num2 |
random() | Restituisce un numero casuale |
round(num) | Restituisce il valore di num arrotondato all'intero più vicino |
sin(num) | Restituisce il seno di num |
sqrt(num) | Restituisce la radice quadrata di num |
tan(num) | Restituisce la tangente di num |
Proprietà | ||
---|---|---|
E | corrisponde alla costante di Eulero, ovvero la base di un logaritmo naturale | Corrisponde al valore 2,718 |
LN10 | corrisponde al logaritmo naturale in base 10 | Corrisponde a 0,693 |
LN2 | corrisponde al logaritmo naturale in base 2 | Corrisponde a 2,302 |
LOG2E | corrisponde al logaritmo in base 2 di E | Corrisponde a 1,442 |
LOG10E | corrisponde al logaritmo in base 10 di E | Corrisponde a 0,434
|
PI | corrisponde al PI Greco |
La costante che rappresenta il rapporto tra la circonferenza di un cerchio e il suo diametro (equivalente a 3,14) |
SRQT1_2 | corrisponde a 1 diviso la radice quadrata di 2 | Corrisponde a 0,707 |
SRQT2 | corrisponde alla radice quadrata di 2 | Corrisponde a 1,414 |
L'oggetto Math è considerato un oggetto statico:
!!! Non è possibile scrivere x=new Math() !!!
Questo vuol dire che l'oggetto non può essere istanziato, ma soltanto utilizzato staticamente.
Ad esempio, volendo ricavare la costante PI GRECO ed assegnarla ad una variabile, potremmo scrivere:
x=Math.PI.
Per esemplificare uno dei casi in cui è necessario usare l'oggetto Math, viene proposto un esempio relativo ad un semplicissimo Euroconvertitore. Poiché le esigenze di visualizzazione hanno reso necessario impostare la chiamata alle funzioni che svolgevano la conversione per ogni valuta, qui viene descritto soltanto l'esempio relativo alla conversione Lira-Euro, valido per qualunque conversione, anche se con tassi differenti per le altre monete.
Per convertire da valuta nazionale ad Euro:
Si divide l'importo per il tasso di conversione (Es.: Lire 1000/1936,27) l’importo ottenuto (in Euro) va troncato alla terza cifra decimale si arrotonda il risultato ottenuto al secondo decimale - per difetto se la terza cifra decimale va da 0 a 4, - per eccesso se la terza cifra decimale va da 5 e 9. Es.: Lire 10000/1936,27=5,16456899 Valuto la terza cifra decimale: 5,16456899. Essendo 4, la seconda cifra decimale non va arrotondata per eccesso, ma per difetto, e rimane 6. Tronco alla seconda cifra decimale, e ottengo 5,16 Euro. Detto questo, passiamo al codice vero e proprio nell'intestazione dell'esempio: |
function campovuoto(risposta) { if (risposta=="" || isNaN(risposta)) /* Occorre controllare se il numero immesso nella casella di testo LE è vuota, oppure se non è un numero valido: in entrambi i casi, il form viene azzerato, poiché la conversione causerebbe un errore */ { alert('Il numero immesso non è valido. \n Leggete le precedenti istruzioni per l\'immissione del numero'); document.form2.reset(); } else convertiL(); } function convertiL() { document.form2.Euro.value=Math.round(((eval(document.form2.LE.value)/1936.27*1000)/10))/100; /* - primo passo: moltiplicazione del rapporto per 1000 - secondo passo: il rapporto viene diviso per 10 - terzo passo: il rapporto viene arrotondato tramite il metodo Math.Round(), per arrotondare la terza cifra decimale - quarto passo: il rapporto viene diviso per 100, ottenendo il valore della conversione */ } |
Altri metodi utilizzabili in questo caso sono:
-document.form2.Euro.value=Math.round((eval(document.form2.LE.value)/1936.27*100)/100; Per comprendere come la funzione viene richiamata, occorre soffermarsi sull'evento onClick del pulsante "esegui", perché cliccando sul pulsante si esegue la funzione "risposta" utilizzando come parametro il valore della casella di testo deputata a raccogliere il valore delle Lire che si devono convertire. <input type="button"name="esegui"value="esegui"onClick="campovuoto(document.form2.LE.value);">
|