Lua Academy · Lekcja

Liczby całkowite i zmiennoprzecinkowe

Dowiedzą się Państwo, jak Lua reprezentuje liczby.

Lekcja 1 z 413 kroki

Liczby całkowite i zmiennoprzecinkowe to bezpłatna lekcja Lua Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Lua Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Lua Academy zawiera 4 lekcji w sumie.

Liczby w Lua

W Lua typ number przechowuje wszystkie rodzaje wartości liczbowych. Liczby służą do zliczania elementów, mierzenia wartości i wykonywania obliczeń.

Począwszy od Lua 5.3, liczby występują w dwóch odmianach: całkowite (bez części ułamkowej) i zmiennoprzecinkowe (z częścią dziesiętną).

Na początek wyświetlmy kilka liczb.

print(10)
print(3.14)

Czym jest liczba całkowita?

Liczba całkowita to liczba bez części ułamkowej, taka jak 0, 42 lub -7.

Gdy zapisują Państwo liczbę bez kropki dziesiętnej, Lua traktuje ją jako liczbę całkowitą.

  • 5 to liczba całkowita
  • -100 to liczba całkowita
local apples = 5
print(apples)

Czym jest liczba zmiennoprzecinkowa?

Liczba zmiennoprzecinkowa (float) może reprezentować wartości ułamkowe, takie jak 3.14 lub 0.5.

Każda liczba zapisana z kropką dziesiętną jest liczbą zmiennoprzecinkową, nawet 2.0.

Liczby zmiennoprzecinkowe pozwalają przechowywać wyniki pomiarów i dzielenia.

local price = 2.5
print(price)

Sprawdzanie podtypu

Liczby całkowite i zmiennoprzecinkowe mają wspólną nazwę typu: "number". Aby sprawdzić, jaki podtyp ma dana wartość, należy użyć math.type().

Funkcja zwraca łańcuch "integer", "float" albo nil, jeśli wartość nie jest liczbą.

print(math.type(10))
print(math.type(3.14))

type() vs math.type()

Funkcja type() informuje o ogólnym typie. Dla każdej liczby zwraca "number".

Funkcja math.type() podaje bardziej szczegółową informację i rozróżnia liczbę całkowitą od zmiennoprzecinkowej. Należy używać właściwego narzędzia do danego zadania.

print(type(7))
print(math.type(7))

Dzielenie zawsze daje liczbę zmiennoprzecinkową

Standardowy operator dzielenia / zawsze zwraca liczbę zmiennoprzecinkową, nawet gdy liczby dzielą się bez reszty.

Dlatego 10 / 2 daje 5.0, a nie 5. Proszę zwrócić uwagę na .0 w wyniku.

print(10 / 2)
print(math.type(10 / 2))

Dzielenie z zaokrągleniem w dół

Operatora dzielenia z zaokrągleniem w dół // należy używać, gdy potrzebny jest wynik w postaci liczby całkowitej. Dzieli on liczby i zaokrągla wynik w dół, w kierunku ujemnej nieskończoności.

Jeśli oba operandy są całkowite, wynik również jest całkowity.

print(7 // 2)
print(math.type(7 // 2))

Liczby zmiennoprzecinkowe mogą przechowywać wartości całkowite

Liczba zmiennoprzecinkowa może również przechowywać liczbę całkowitą. Wartości 4.0 i 4 są równe, ale podtyp wartości 4.0 nadal wynosi float.

Lua uznaje 4 == 4.0 za true, ponieważ obie wartości mają taką samą wartość liczbową.

print(4 == 4.0)
print(math.type(4.0))

Konwersja liczby zmiennoprzecinkowej na całkowitą

Liczbę zmiennoprzecinkową można przekształcić w całkowitą za pomocą math.tointeger(). Funkcja zwraca liczbę całkowitą, jeśli liczba zmiennoprzecinkowa nie ma części ułamkowej; w przeciwnym razie zwraca nil.

Jest to przydatne, gdy interfejs API wymaga prawdziwej liczby całkowitej.

print(math.tointeger(8.0))
print(math.tointeger(8.5))

Notacja naukowa

Lua pozwala zapisywać bardzo duże lub bardzo małe liczby zmiennoprzecinkowe w notacji naukowej z użyciem e.

1e3 oznacza 1 times 10 to the power 3, czyli 1000.0. Wynik zawsze jest liczbą zmiennoprzecinkową.

print(1e3)
print(2.5e-2)

Zakres liczb całkowitych

Liczby całkowite w Lua są przechowywane na 64 bitach, więc mają bardzo duży, ale skończony zakres. Stałe math.maxinteger i math.mininteger pokazują jego granice.

Liczby zmiennoprzecinkowe mogą reprezentować większe wartości bezwzględne, ale w przypadku dużych liczb całkowitych tracą dokładność.

print(math.maxinteger)
print(math.mininteger)

Szybki test

Sprawdźmy, czego nauczyli się Państwo o liczbach całkowitych i zmiennoprzecinkowych.

Podsumowanie

Dowiedzieli się Państwo, że liczby w Lua mają dwa podtypy: całkowite (bez części ułamkowej) i zmiennoprzecinkowe (dziesiętne).

Do ich rozróżniania służy math.type(), operator / zawsze zwraca liczbę zmiennoprzecinkową, a operator // może zachować całkowity charakter wyniku. math.tointeger() wykonuje konwersję, gdy jest to możliwe.

Następnie poznają Państwo dokładniej operatory arytmetyczne.

Bezpłatny start

Ucz się Lua dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
40
Lekcje
159

Często zadawane pytania

Czy lekcja „Liczby całkowite i zmiennoprzecinkowe” jest bezpłatna?

Tak — pełny tekst „Liczby całkowite i zmiennoprzecinkowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Lua Academy, przejdź na CoddyKit PRO. Kurs Lua Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Liczby całkowite i zmiennoprzecinkowe”?

Dowiedzą się Państwo, jak Lua reprezentuje liczby. Ćwiczysz Lua Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Lua Academy?

Nie wymagamy żadnego doświadczenia. Lua Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Liczby całkowite i zmiennoprzecinkowe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Lua Academy?

Tak. Każda lekcja Lua Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Liczby całkowite i zmiennoprzecinkowe
  2. Operatory arytmetyczne
  3. Biblioteka math
  4. Formatowanie liczb
← Powrót do Lua Academy