I tipi numerici in Dart:
num<- Per i numeri, è la super classe diintedouble.int<- Per i numeri interi.double<- Per i numeri decimali.
intedoublesono due sottoclassi dinum.
Verificare se Pari o Dispari
- La funzione
.isEvenpermette di verificare che un numero sia pari. - La funzione
.isOddpermette di verificare che un numero sia dispari.
Tuttavia queste due funzioni non possono essere usate su variabili double in quanto i numeri con la virgola non possono essere classificati come pari o dispari.
Lo stesso vale per le variabili num in quanto potrebbe essere anche un numero con la virgola.
Mandare in output una variabile numerica insieme a del testo e viceversa
Eh no, mi dispiace, la sintassi sembra simile a Python ma la festa finisce lì.
Da num a String:
Esempio SBAGLIATO:
double virgola = 5.5;
print("Questo è il tuo numero: " + intero);La sintassi di sopra porterà ad un errore, infatti per mandare a video del tipo numerico insieme a del testo bisogna richiamare la funzione .toString(), per far sì che l’interprete converta la variabile in tipo String:
Esempio CORRETTO:
num numero = 5;
print("Ecco il tuo numero: " + numero.toString());Da int a double:
Si utilizza la funzione double.parse(VARIABILE).
Esempio:
String intero = "5";double virgola = 5.5 + double.parse(intero);
print(virgola);Funzioni per i numeri
Funzione .round():
Restituisce un numero int arrotondando un numero double al numero intero più vicino.
Funzione .ceil():
Restituisce un valore int arrotondando un numero double al numero intero più vicino successivo al valore del numero double.
Funzione .floor():
Restituisce un valore int arrotondando un numero double al numero intero più vicino precedente al valore del numero double.
Operatori Aritmetici:
+<--- Somma.-<--- Differenza.*<--- Prodotto./<--- Divisione.%<--- Modulo, per ottenere il resto di una divisione.~/<--- Ritorno dell’intero di una divisione.
Operatori di incremento e decremento:
Per l’incremento e decremento di una variabile è possibile usare gli operatori ++ e --, tuttavia hanno delle piccolissime regole.
Si può scegliere di posizionarli prima o dopo il nome della variabile:
Esempio:
int numero = 5;
print(numero++);Restituisce:
5Perché? Restituisce 5 perché l’interprete di Dart legge prima la variabile e poi l’operatore, quindi quando va a leggere il print() è come se “ragionasse” in questo senso:
“Ah, vuole che stampo numero che poi deve essere incrementato.”
Quindi il compilatore effettivamente incrementa il valore, ma non lo stampa a schermo in quanto non è quello che non gli è stato chiesto.
Tant’è che se si aggiunge un altro print() identico potremo visualizzare nella seconda riga dell’output l’incremento fatto nella prima, e ovviamente verrebbe incrementato anche una seconda volta ma senza esser visualizzato.
Per far sì invece che il valore incrementato venga effettuato all’istante al momento del print(), bisogna posizionare l’operatore di incremento o decremento prima della variabile:
Esempio:
int numero = 5;
print(++numero);Restituisce:
6Ovviamente tutti gli esempi sono ugualmente validi con --.