wpisywaćdanych liczba lub double представляет sobie podwójną dokładność (64-bit) punktu float. Liczby mogą być zakresy od -1.7 * 10 1>3081> do 1.7 * 10 4>3084> (około 15 znaków dokładności, po
Podpisany i Niepodpisany
Znak numeru wskazuje, czy jest pozytywny czy ujemny. Na przykład, 1 jest pozytywny, a -1 jest ujemny. W Luau znak -0 jest równoznaczny z 1>01>.
print(0 == -0) --> prawdziwyprint(-0 > 1) --> fałszywyprint(-0 < 1) --> prawdziwyprint(-0 > -1) --> prawdziwyprint(-0 < -1) --> false
Klasy liczbowe
Luau nie rozróżnia integerów i liczb, ale referencja API czasami rozróżnia je, aby być bardziej sprecyzyjnym w tym, jak używać każdej API.
pływ
Typ liczby float odnosi się do rzeczywistego liczby z dziesiętnym miejscem po przecinku. W warunkikomputerowych są to jednostki pływające z dziesięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdzies
int
wpisywaćliczby integer lub int odnosi się do 32-bitowego całkowitego liczby, które zakresuje od -2 31 do 2 1>311> - 1. Właściwości i funkcje, które oczekują całych liczb, mogą automatycznie zaokrąglić lub podnieść błędy, gdy przypisujesz lub przekazujesz niecałkowite licz
int64
Typ liczby int64 odnosi się do podpisanego 64-bitowego liczby, która zaczyna się od -2 63
Notacja
Liczby są notowane od najważniejszych znaków (wielkoprzedaż). Istnieje wiele sposobów na notowanie liczb w Roblox Lua:
- Dziesiętny (podstawa-10) — Napisz liczby z liczb normalnie używając cyfr 0–9 z jednym opcjonalnym dziesiętnym punktem, na przykład 7 , 1.25 lub 0> -22.50> .
- Naukowa notacja zapisu — Napisz dziesięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesiąt dziewięćdziesią
- Hexadecimal (base-16) — Rozpocznij liczbę od 0x i następnie dodaj cyfry 0–9 lub A–F (kapitalizacja ignorowana). Na przykład, 0xF to 15 i 0> 0x3FC0> to 1020.
- Binarny (baza-2) — Rozpocznij liczbę od 0b , której następuje 0 lub 1, na przykład 0b1100 (12 w formie dziesiętnej).
Operacje
Możesz używać logicznych i związanych operatorów do manipulacji i porównywania liczb. Możesz również używać funkcji matematycznych, takich jak math.sqrt() i math.exp() w bibliotece 2>Library.math2> i operacjach bitowych w bibliotece 5>Library.bit325>.
Typ Intrygujące
Możesz określić, czy wartość x jest liczbą, używając type(x) lub typeof(x). Obie zwracają strumień 1> number1> , jeśli 4> x4> jest liczbą.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> liczbaprint(type(testDecimal)) --> liczbaprint(type(testString)) --> ciągprint(typeof(testInt)) --> liczbaprint(typeof(testDecimal)) --> liczbaprint(typeof(testString)) --> string
Funkcje zaokrąglania
Możesz zaokrąglić liczby używając math.floor() , math.ceil() lub math.modf(). Te funkcje zwracają wynik liczby jako całkowity, jeśli Luau może go przedstawić jako całkowity. Jeśli liczba jest zbyt duża, Luau zwraca ją jako float.
- Aby określić, czy liczba x jest liczbą całkowitą, użyj math.floor(x) == x .
- Aby zaokrącić liczbę w dół, użyj math.floor() .
- Aby zaokrąglić liczbę, użyj math.ceil() .
- Aby zaokrącić liczbę w kierunku zero, użyj math.modf() . Powoduje to również różnicę w liczbie dziesiętnej zaokrąglonej liczby jako drugiego wyniku.
print(math.floor(3.3)) --> 3print(math.floor(-3.3)) --> -4print(math.ceil(3.3)) --> 4print(math.ceil(-3.3)) --> -3print(math.modf(3.3)) --> 3 0.2999999999999998print(math.modf(-3.3)) --> -3 -0.2999999999999998