I numeri sono, dopo le stringhe, i valori più utilizzati in JavaScript. In questa lezione, andiamo a vedere come si possono dichiarare i numeri, quali sono le proprietà più importanti e le operazioni possibili.
Dichiarare un numero
I numeri devono essere dichiarati senza virgolette e possono essere assegnati ad una variabile qualsiasi.
let numero = 2;
Si possono anche dichiarare numeri con una parte decimale. Bisogna utilizzare il punto per dividere la parte intera da quella decimale.
let numero = 2.9834;
Operazioni con i numeri
Ora, vediamo alcune operazioni basi che si possono fare con i numeri.
La somma
Per sommare due o più numeri, si utilizza il simbolo "+". Si possono sommare sia tra numeri direttamente che tra variabili. Vediamo degli esempi:
let somma = 3 + 6;
alert(somma); // Risultato: 9
let a = 5;
let b = 2;
let risultato = a + b;
alert(risultato); // Risultato: 7
La differenza
Per effettuare una differenza tra numeri, si utilizza il simbolo "-".
let differenza = 3 - 1;
alert(differenza); // Risultato: 2
let a = 4;
let b = 3;
let risultato = a - b;
alert(risultato); // Risultato: 1
La moltiplicazione
Per moltiplicare due o più numeri, puoi utilizzare il simbolo "*".
let moltiplicazione = 2 * 2;
alert(moltiplicazione); // Risultato: 4
let a = 1;
let b = 2;
let risultato = a * b;
alert(risultato); // Risultato: 2
La divisione
Infine, se vuoi eseguire una divisione tra due o più numeri, puoi usare il simbolo "/".
let divisione = 6 / 3;
alert(divisione); // Risultato: 2
let a = 9;
let b = 3;
let risultato = a / b;
alert(risultato); // Risultato: 3
Nota: vedremo in dettaglio tutte le operazioni con i numeri nella lezione Operazioni matematiche.
Problemi con i numeri
Purtroppo, JavaScript ha dei problemi con i numeri decimali. Ad esempio, un'operazione come
let a = 0.1;
let b = 0.2;
let c = a + b; // Risultato: 0.30000000000000004
Perché succede? In JavaScript, i numeri vengono rappresentati secondo lo standard IEEE 754, che utilizza una rappresentazione binaria approssimativa. Questa rappresentazione può portare ad alcuni errori di precisione.
Come risolvere
Per fortuna, esistono dei modi per risolvere questo problema. La prima cosa che puoi fare è utilizzare il metodo toFixed(
numero_decimali)
che restituisce un numero approssimato al numero di cifre decimali impostato.
let a = 0.1;
let b = 0.2;
let c = a + b;
c = c.toFixed(1); // Risultato: 0.3
Nota: puoi approfondire come funziona toFixed()
in Metodi dei numeri.
Oppure, è possibile moltiplicare e poi dividere la somma per lo stesso numero.
let a = 0.1;
let b = 0.2;
let c = (a * 10 + b * 10) / 10; // Risultato: 0.3
I numeri infiniti
In JavaScript, un numero può essere infinito. Si ottiene quando si eseguono operazioni che hanno un risultato che supera il massimo valore rappresentabile. Esistono due valori diversi di infinito: infinity
e -infinity
.
let a = 5 / 0; // Risultato: infinity
let b = -5 / 0; // Risultato: -infinity
I numeri NaN
Oltre a infinity
, i numeri possono assumere il valore di NaN
(Not A Number, in italiano "Non un numero"). Si ottiene quando il valore non è un numero in operazioni tra numeri e stringhe, oppure in alcune divisioni.
let a = "JS" * 4; // Risultato: NaN
let b = 0 / 0; // Risultato: NaN