Số

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Loại dữ liệu số number hoặc double đại diện cho một số float chính xác gấp đôi (64 bit) lơ lửng.Số có thể dao động từ -1.7 * 10 308 đến 1.7 * 10 308 (khoảng 15 chữ số của độ chính xác, dương hoặc âm).

Đã ký và chưa ký

Dấu hiệu của số chỉ ra liệu nó có dương tính hay âm tính.Ví dụ, 1 là tích cực và -1 là tiêu cực.Ở Luau, số -0 tương đương với 0 .


print(0 == -0) --> thật
print(-0 > 1) --> giả mạo
print(-0 < 1) --> thật
print(-0 > -1) --> thật
print(-0 < -1) --> false

Phân loại số

Luau không phân biệt giữa số nguyên và số, nhưng tham chiếu API đôi khi phân biệt giữa chúng để cụ thể hơn về cách sử dụng mỗi API.

nổi

Loại số float số tham chiếu đến một số thực với địa điểmthập phân.Theo điều khoảnkhoa học máy tính, chúng là số điểm phép lẻ (32 bit) nổi, không chính xác như số điểm phép lẻ đôi, nhưng đủ chính xác cho hầu hết các trường hợp sử dụng và yêu cầu ít bộ nhớ và kho lưu trữ hơn.

int ngôn ngữ english:int

Loại số integer , hoặc int , tham chiếu đến một số nguyên 32 bit, có phạm vi từ -2 31 đến 2 31 - 1.Các thuộc tính và chức năng mong đợi số nguyên có thể tự động tròn hoặc nâng cao lỗi khi bạn gán hoặc chuyển những số không phải là số nguyên cho chúng.

những int64

Loại số int64 số đề cập đến một số 64-bit đã ký, có phạm vi từ -2 63 đến 2 63 - 1.Loại số nguyên này phổ biến cho các phương pháp sử dụng số ID từ trang web Roblox.Ví dụ, Player.UserId là một int64 , và MarketplaceService:PromptPurchase()TeleportService:Teleport() mỗi người mong đợi int64 cho các tham số ID.

Biểu tượng

Các số được viết với các chữ số có ý nghĩa nhất trước tiên (big-endian). Có nhiều cách để viết lời nói số trong Luau:

  • Thập phân (cơ sở-10) — Viết các chữ số của số bình thường bằng cách sử dụng các chữ số 0–9 với một dấu phân cách thập phân tùy chọn duy nhất, ví dụ 7 , 1.25 , hoặc -22.5 .
  • Phép đo lường khoa học — Viết một số thập phân theo sau bởi e hoặc e+ , sau đó một số nguyên để nâng số thập phân lên một số lẻ của 10.Ví ví dụ / trường hợp, 12e3 là 12 × 10^3 (12,000).
  • Hexadecimal (base-16) — Bắt đầu số với 0x theo sau là các chữ số 0–9 hoặc A–F (viết hoa bị bỏ qua).Ví dụ, 0xF là 15 và 0x3FC là 1020.
  • Nhị phân (cơ sở-2) — Bắt đầu số với 0b theo sau là 0 hoặc 1, ví dụ 0b1100 (12 trong định dạng thập phân).

Hoạt động

Bạn có thể sử dụng các hoạt động logic và quan hệ để thao tác và so sánh các số.Bạn cũng có thể sử dụng các chức năng toán học như math.sqrt()math.exp() trong thư viện math và các hoạt động bitwise trong thư viện bit32.

Loại kiểm tra nội bộ

Bạn có thể xác định xem giá trị x có phải là một số bằng cách sử dụng type(x) hoặc typeof(x) .Cả hai trả về chuỗi number nếu x là một số.


local testInt = 5
local testDecimal = 9.12761656
local testString = "Hello"
print(type(testInt)) --> số
print(type(testDecimal)) --> số
print(type(testString)) --> chuỗi
print(typeof(testInt)) --> số
print(typeof(testDecimal)) --> số
print(typeof(testString)) --> string

Chức năng tròn

Bạn có thể làm tròn số bằng cách sử dụng math.floor() , math.ceil() hoặc math.modf() .Các chức năng này trả kết quả số nguyên nếu Luau có thể biểu diễn nó như một số nguyên.Nếu số quá lớn, Luau trả nó trở lại như một float.

  • Để xác định xem một số x có phải là một số lẻ hay không, hãy sử dụng math.floor(x) == x .
  • Để làm tròn một số xuống, sử dụng math.floor() .
  • Để làm tròn một số lên, hãy sử dụng math.ceil() .
  • Để làm tròn một số lên 0, hãy sử dụng math.modf(). Nó cũng trả về sự khác biệt phân số của số được làm tròn làm kết quả thứ hai.

print(math.floor(3.3)) --> 3
print(math.floor(-3.3)) --> -4
print(math.ceil(3.3)) --> 4
print(math.ceil(-3.3)) --> -3
print(math.modf(3.3)) --> 3 0.2999999999999998
print(math.modf(-3.3)) --> -3 -0.2999999999999998