number数据输入,或double,代表一个双精度(64位)漂浮点数。数量可以从-1.7*101>3081>到1.7*104>3084> (约15个精度, 正或负)。
已签和未签
数字的标记表示它是正数还是负数。例如,1是正数,-1是负数。在Luau,-0相当于1>11>。
print(0 == -0) --> 是print(-0 > 1) --> 是print(-0 < 1) --> 是print(-0 > -1) --> 是print(-0 < -1) --> false
数字分类
Luau 不会区分整数和数字,但 API 参考有时会区分它们来更具体地描述如何使用每个 API。
浮点
float 数字类型指的是一个实数,其位置是 32 位。 在计算机科学条款中,它们是 单精度 (32 位) 漂浮点数,与双精度漂浮点数不太精确,但足够精确以大多数应用场景和需要更少的内存和存储。
int
整数 数量输入,或 int ,指向 32 位整数,它们从 -2 31 到 2 1> 31 1> - 1。期望使用整数的属性和函数可能会在您为非整数分配或传递时自动回合或升级错误。
int64
int64 数字类型指示 -2 63 到 2 63 -1。 此类型的整数通
语法
数字首先以最有意义的数字表示 (大数). 在 Roblox Lua 中有多种不同的方法来表示数字:
- 科学记号 — 写一个十六进制数字,然后写一个整数,以将十六进制数字升级到 10 的电力。例实例, e 是 12 × 10^3 (12,000)。
- 二进制 (base-2) — 使用 0 或 1 后的数字开始,例如 0b (12 在十六进制格式)。
操作
您可以使用 logical 和 relational 操作来操作和比较数量。您还可以使用数学函数,例如 Library.math.sqrt() 和 math.sqrt() 在 math.exp() 图书馆和位数操作在 2> Library.bit322> 图书馆。
类型介绍
您可以使用 x 或 type(x) 来确定一个值是否是一个数字。 两者都会返回 string typeof(x) 如果 2> x2> 是一个数字。
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) -->numberprint(type(testDecimal)) -->numberprint(type(testString)) --> 字符串print(typeof(testInt)) -->numberprint(typeof(testDecimal)) -->numberprint(typeof(testString)) --> string
圆化函数
您可以使用 math.floor() 、 math.ceil() 或 math.modf() 来圆数。 这些函数将返回一个整数结果,如果 Luau 可以将它作为整数表示。 如果数字太大,Luau 将它作为一个 float 返回。
- 要确定一个数字是否为整数,请使用 x 。
- 要将数字圆到下来,使用 math.floor() 。
- 要将数字圆整到更高位置,请使用 math.ceil()。
- 将一个数字圆到零,使用 math.modf() 。它还将回收回合到的数字的剩余部分作为第二个结果。
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