NumberValue

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

一个 NumberValue 是一个用于存储单个 Luau 数字 的对象,定义为 双精度浮点数字 或更常见地称为 双倍 。这里存储了一个数字,使用 IEEE 754 表示(1 个符号位、11 个指数位和 52 个分数位),使用 64 位(8 字节)存储。最大可存储的数值为 2^53,或 9,007,199,254,740,992,最小值为 -9,007,199,254,740,992。它可以存储高达 15 位精度。

像所有 "-Value" 对象一样,这个单值被存储在价值属性中。为此更改的事件(以及其他类似的对象)将使用新值在对象中存储,而不是使用代表被更改的属性的字符串发射。

代码示例

这个示例展示了普通对象和 "-Value" 对象上更改事件的微妙。

更改了事件

-- 通过创建零件来显示更改的事件
local part = Instance.new("Part")
part.Changed:Connect(print)
-- 这发射了更改为“透明”
part.Transparency = 0.5
-- 类似地,这发射了更改为“数字”
part.Name = "SomePart"
-- 因为更改砖色也会更改其他
-- 同时属性,这行发射更改
-- 使用“BrickColor”、“Color3”和“Color3uint16”。
part.BrickColor = BrickColor.Red()
-- 一个 NumberValue 持有双精度浮动小数号
local vNumber = Instance.new("NumberValue")
vNumber.Changed:Connect(print)
-- 这会触发与 123.456 变更(不是“值”)
vNumber.Value = 123.456
-- 这不会触发更改了
vNumber.Name = "SomeNumber"
-- 一个 StringValue 存储一条字符串
local vString = Instance.new("StringValue")
vString.Changed:Connect(print)
-- 这会触发使用“您好”更改(而不是“值”)
vString.Value = "Hello"

属性

Value

读取并联

用于保持双倍值。

方法

活动

Changed

这个事件会在 NumberValue.Value 属性发生改变时触发。

这个事件,像其他更改的事件一样,可以用来跟踪当 NumberValue 发生变更时以及可能更改的不同值。

例实例,这甚至可能在依赖 NumberValues 来跟踪游戏状态和值的游戏中有用,例如物品 ID。

相同类型的更改事件存在于类似对象,例如 ObjectValueStringValue,根据需求选择最适合的对象类型。

参数

value: number

更改后的值。


代码示例

This example prints the NumberValue's new value each time it changes. Here it prints 20.

NumberValue Changed

local numberValue = script.Parent.NumberValue
local function printValue(value)
print(value)
end
numberValue.Changed:Connect(printValue)
numberValue.Value = 20