Interi e numeri con virgola
Scopra come Lua rappresenta i numeri.
Interi e numeri con virgola è una lezione Lua Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Lua Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Lua Academy include 4 lezioni in totale.
Numeri in Lua
In Lua, il tipo number contiene ogni tipo di valore numerico. Utilizzi i numeri per contare, misurare valori ed eseguire calcoli.
A partire da Lua 5.3, i numeri sono disponibili in due forme: interi (numeri senza parte frazionaria) e float (numeri con una parte decimale).
Iniziamo stampando un paio di numeri.
print(10)
print(3.14)Che cos'è un numero intero
Un numero intero è un numero senza parte frazionaria, come 0, 42 o -7.
Quando scrive un numero senza virgola decimale, Lua lo considera un intero.
5è un intero-100è un intero
local apples = 5
print(apples)Che cos'è un float
Un float (numero in virgola mobile) può rappresentare valori frazionari, come 3.14 o 0.5.
Qualsiasi numero scritto con una virgola decimale è un float, anche 2.0.
I float consentono di memorizzare misure e risultati di divisioni.
local price = 2.5
print(price)Verificare il sottotipo
Interi e float condividono il nome del tipo "number". Per vedere quale sottotipo ha un valore, utilizzi math.type().
La funzione restituisce la stringa "integer", "float" oppure nil se il valore non è un numero.
print(math.type(10))
print(math.type(3.14))type() e math.type()
La funzione type() indica il tipo generale. Per qualsiasi numero restituisce "number".
La funzione math.type() fornisce maggiori dettagli e indica se si tratta di un intero o di un float. Utilizzi lo strumento più adatto a ogni situazione.
print(type(7))
print(math.type(7))La divisione produce sempre un float
Il normale operatore di divisione / produce sempre un float, anche quando i numeri sono divisibili senza resto.
Pertanto 10 / 2 restituisce 5.0, non 5. Noti il .0 nell'output.
print(10 / 2)
print(math.type(10 / 2))Divisione con arrotondamento per difetto
Utilizzi l'operatore di divisione con arrotondamento per difetto // quando desidera un risultato intero. Divide e arrotonda verso il basso, in direzione dell'infinito negativo.
Se entrambi gli operandi sono interi, il risultato è un intero.
print(7 // 2)
print(math.type(7 // 2))I float possono contenere valori interi
Un float può contenere anche un numero intero. 4.0 ha lo stesso valore di 4, ma il suo sottotipo è comunque float.
Lua considera 4 == 4.0 true perché i due valori numerici sono uguali.
print(4 == 4.0)
print(math.type(4.0))Convertire un float in un intero
Può convertire un float in un intero con math.tointeger(). La funzione restituisce l'intero se il float non ha parte frazionaria; in caso contrario restituisce nil.
È utile quando un'API richiede un vero intero.
print(math.tointeger(8.0))
print(math.tointeger(8.5))Notazione scientifica
Lua consente di scrivere float molto grandi o molto piccoli utilizzando la notazione scientifica con e.
1e3 significa 1 times 10 to the power 3, cioè 1000.0. Il risultato è sempre un float.
print(1e3)
print(2.5e-2)Limiti degli interi
Gli interi Lua sono memorizzati su 64 bit, quindi hanno un intervallo enorme ma finito. Le costanti math.maxinteger e math.mininteger mostrano i limiti.
I float possono rappresentare magnitudini maggiori, ma perdono precisione esatta per i numeri interi grandi.
print(math.maxinteger)
print(math.mininteger)Verifica rapida
Verifichi ciò che ha imparato sugli interi e sui float.
Riepilogo
Ha imparato che i numeri Lua sono disponibili in due sottotipi: interi (numeri senza parte frazionaria) e float (numeri decimali).
Utilizzi math.type() per distinguerli; / restituisce sempre un float, mentre // può mantenere il risultato intero. math.tointeger() esegue la conversione quando possibile.
Ora esplorerà in dettaglio gli operatori aritmetici.
Domande Frequenti
La lezione «Interi e numeri con virgola» è gratuita?
Sì — il testo completo di «Interi e numeri con virgola» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Lua Academy, passa a CoddyKit PRO. Il corso Lua Academy include 4 lezioni in totale.
Cosa imparerò in «Interi e numeri con virgola»?
Scopra come Lua rappresenta i numeri. Eserciti Lua Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Lua Academy?
Non è richiesta alcuna esperienza precedente. Lua Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Interi e numeri con virgola»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Lua Academy?
Sì. Ogni lezione Lua Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Interi e numeri con virgola
- Operatori aritmetici
- La libreria math
- Formattazione dei numeri