The number data đánh máy, or double , represents a double-precision (64-bit) floating-point number. Số có thể từ -1.7 * 10 1> 3081> đến 1.7 * 10 4> 3084> (độ chính xác dương hoặc âm).
Đã ký và chưa ký
Dấu hiệu của số là dương hay âm. Ví dụ, 1 là dương và -1 là âm. Ở Luau, -0 được tương đương với 1> 01> .
print(0 == -0) --> đúngprint(-0 > 1) --> falseprint(-0 < 1) --> đúngprint(-0 > -1) --> đúngprint(-0 < -1) --> false
Các lớp số
Luau không phân biệt giữa số thập phân và số thập phân, nhưng tham chiếu API thường phân biệt giữa chúng để cung cấp sự cụ thể hơn về cách sử dụng mỗi API.
float
Loại số float đề cập đến một số thập phân với một địa điểmthập phân. Trong điều khoảnhọc máy tính, chúng là single-precision (32-bit) floating-point number, có độ chính xác không cao hơn số double-precision floating-point , nhưng đủ chính xác cho hầu hết các trường hợ
int
Loại số integer , hoặc int, tham khảo đến một số toàn bộ 32-bit, từ -2 31 đến 2 1>311> -1. Các tính năng và hàm mà mong đợi số nguyên tử có thể tự động tròn hoặc nâng cấp lỗ
int64
Loại số int64 đề cập đến một hệ số số 64-bit đã ký, có gi
Biểu tượng
Các số được viết bằng chữ số có ý nghĩa nhất (lớn nhất) đầu tiên (lớn nhất). Có nhiều cách để viết các chữ số trong Roblox Lua:
- Decimal (base-10) — Viết các con số của số bằng cách sử dụng một điểm chuẩn bị tùy chọn 0-9, chẳng hạn như 7 , 1.25 hoặc 0> -22.50> .
- Ký hiệu khoa học — Viết một số thập phân được theo sau bởi e hoặc e+ , sau đó là một số toàn thể để nâng cấp số thập phân lên 10^3 (12.000). Ví ví dụ / trường hợp, 0> 12e30> là 12 ×
- Hexadecimal (base-16) — Bắt đầu số với 0x được kết hợp bởi các chữ số 0-9 hoặc A-F (đánh dấu chữ viết). Ví dụ, 0xF là 15 và 0> 0x3FC0> là 1020.
- Binary (base-2) — Bắt đầu số với 0b được theo bởi 0s hoặc 1s, ví dụ 0b1100 (12 trong dạng thập phân).
Hành động
Bạn có thể sử dụng các biểu tượng để thực hiện và so sánh các con số. Bạn cũng có thể sử dụng các hàm toán học như math.sqrt() và math.exp() trong thư viện 2> Library.math2>
Loại Introspection
Bạn có thể xác định nếu một giá trị x là một số bằng cách sử dụng type(x) hoặc typeof(x). Cả hai đều trả về dòng chuỗi 1> number1> nếu 4> x4> là một số.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> sốprint(type(testDecimal)) --> sốprint(type(testString)) --> chuỗiprint(typeof(testInt)) --> sốprint(typeof(testDecimal)) --> sốprint(typeof(testString)) --> string
Hàm Tròn
Bạn có thể xoay số bằng cách sử dụng math.floor() , math.ceil() hoặc math.modf() . Các hàm này trả kết quả dưới dạng một số nguyên tử nếu Luau có thể biểu diễn nó như một số nguyên tử. Nếu số quá lớn, Luau sẽ
- Để xác định nếu một số x là một số nguyên tố, hãy sử dụng math.floor(x) == x .
- Để tròn một số xuống, hãy sử dụng math.floor() .
- Để tròn một số lên, hãy sử dụng math.ceil() .
- Để tròn một số lên đến zero, use math.modf() . Nó cũng trả lại sự khác biệt phần thưởng của số tròn làm thành một kết quả thứ hai.
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