Heltal och flyttal
Så representerar Lua tal.
Heltal och flyttal är en gratis lektion i Lua Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lua Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lua Academy innehåller totalt 4 lektioner.
Tal i Lua
I Lua rymmer typen number alla slags numeriska värden. Du använder tal för att räkna saker, mäta värden och utföra matematiska beräkningar.
Från och med Lua 5.3 finns tal i två varianter: heltal (hela tal) och flyttal (tal med decimaltecken).
Låt oss börja med att skriva ut ett par tal.
print(10)
print(3.14)Vad är ett heltal?
Ett heltal är ett helt tal utan bråkdel, till exempel 0, 42 eller -7.
När du skriver ett tal utan decimaltecken behandlar Lua det som ett heltal.
5är ett heltal-100är ett heltal
local apples = 5
print(apples)Vad är ett flyttal?
Ett flyttal kan representera bråktal, till exempel 3.14 eller 0.5.
Alla tal du skriver med decimaltecken är flyttal, även 2.0.
Flyttal låter dig lagra mätvärden och resultat av divisioner.
local price = 2.5
print(price)Kontrollera undertypen
Både heltal och flyttal har typnamnet "number". Använd math.type() för att se vilken undertyp ett värde har.
Funktionen returnerar strängen "integer", "float" eller nil om värdet inte är ett tal.
print(math.type(10))
print(math.type(3.14))type() kontra math.type()
Funktionen type() visar den övergripande typen. För alla tal returnerar den "number".
Funktionen math.type() går djupare och visar om värdet är ett heltal eller ett flyttal. Använd rätt verktyg för uppgiften.
print(type(7))
print(math.type(7))Division ger alltid ett flyttal
Den vanliga divisionsoperatorn / ger alltid ett flyttal, även när talen går jämnt upp.
Alltså ger 10 / 2 resultatet 5.0, inte 5. Lägg märke till .0 i resultatet.
print(10 / 2)
print(math.type(10 / 2))Golvdivision
Använd golvdivisionsoperatorn // när du vill ha ett heltalsresultat. Den dividerar och avrundar nedåt mot negativ oändlighet.
Om båda operanderna är heltal blir resultatet ett heltal.
print(7 // 2)
print(math.type(7 // 2))Flyttal kan innehålla heltalsvärden
Ett flyttal kan också lagra ett heltal. 4.0 är lika med 4 till värdet, men undertypen är fortfarande float.
Lua betraktar 4 == 4.0 som true eftersom de har samma numeriska värde.
print(4 == 4.0)
print(math.type(4.0))Konvertera flyttal till heltal
Du kan omvandla ett flyttal till ett heltal med math.tointeger(). Funktionen returnerar heltalet om flyttalet saknar bråkdel, annars nil.
Detta är användbart när ett API kräver ett äkta heltal.
print(math.tointeger(8.0))
print(math.tointeger(8.5))Vetenskaplig notation
Lua låter dig skriva mycket stora eller mycket små flyttal med vetenskaplig notation och e.
1e3 betyder 1 times 10 to the power 3, vilket är 1000.0. Resultatet är alltid ett flyttal.
print(1e3)
print(2.5e-2)Heltalsgränser
Lua-heltal lagras i 64 bitar och har därför ett mycket stort men ändligt intervall. Konstanterna math.maxinteger och math.mininteger visar gränserna.
Flyttal kan representera större storleksordningar men förlorar exakt precision för stora heltal.
print(math.maxinteger)
print(math.mininteger)Snabbtest
Testa vad du har lärt dig om heltal och flyttal.
Sammanfattning
Du har lärt dig att Lua-tal finns i två undertyper: heltal (hela tal) och flyttal (decimalvärden).
Använd math.type() för att skilja dem åt, / ger alltid ett flyttal och // kan bevara heltalstypen. math.tointeger() konverterar när det är möjligt.
Därefter ska du utforska aritmetiska operatorer på djupet.
Lär dig Lua med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 40
- Lektioner
- 159
Vanliga frågor
Är lektionen ”Heltal och flyttal” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lua Academy, inklusive ”Heltal och flyttal”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lua Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Heltal och flyttal”?
Så representerar Lua tal. Ni övar på Lua Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lua Academy?
Du behöver inga förkunskaper. Utbildningen i Lua Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Heltal och flyttal”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lua Academy-lektionen?
Ja. Varje Lua Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Heltal och flyttal
- Aritmetiska operatorer
- Biblioteket math
- Talformatering