一个 IntValue 存储一个单个签名的 64 位整数。最高允许值为 2^63-1 或约 9.2 兆(9.2^18);尝试存储更大的数字会导致整数溢出 。允许的最低值为 -2^63 或约 -9.2 兆。然而,实际上,使用大于 2^53 (9.0^15) 的整数进行工作会导致精度丢失,因为 Luau 使用双精度浮点存储数字。
请注意,通过 属性窗口 可以将值存储在 2^53 和 2^63-1 之间,因为它使用字符串将数据传递给引擎,但通过 Luau 脚本操作大值会导致精度和四舍五入损失,如上所述。
使用 IntValue 的主要优势在于将价值回合到最接近的整数,中途案例回合到 0 以外。对于超出该范围的值,请使用 NumberValue 。像所有 ValueBase 对象一样,这个单值被存储在 Value 属性中。
对于这个 (和其他类似的对象),事件 Changed 将使用新值存储在对象中,而不是使用代表被更改属性的字符串。
概要
活动
每当 IntValue.Value 被更改时发生火灾
属性
方法
活动
Changed
这个事件会在 IntValue.Value 发生改变时触发。它将运行在新值被存储在参数对象中,而不是代表正在更改的属性的字符串。
相同的更改事件存在于类似于 NumberValue 和 StringValue 的对象上,根据需求选择最适合的对象类型。
参数
更改后的新值。
代码示例
以下示例,假设所有引用的对象都存在,每次更改时都会打印 IntValue 的新值。在下面的例子中,它将打印 20。
如何使用 IntValue.Changed
local value = Instance.new("IntValue")
value.Parent = workspace
local function onValueChanged(newValue)
print(newValue)
end
value.Changed:Connect(onValueChanged)
value.Value = 20