Show Deprecated

A NumberValue is an object whose purpose is to store a single Lua number, defined to be double-precision floating point number, or more commonly known as a double. This stores a number in 64 bits (8 bytes) using the IEEE 754 representation (1 sign bit, 11 exponent bits and 52 fractional bits). The maximum numerical value that may be stored is 2^53, or 9,007,199,254,740,992, and the minimum is -9,007,199,254,740,992. It stores up to 15 digits of precision.

Like all "-Value" objects, this single value is stored in the Value property. The Changed event for this (and other objects like it) will fire with the new value being stored in the object, instead of a string representing the property being changed.

Code Samples

Changed Event

-- Demonstrate the Changed event by creating a Part
local part = Instance.new("Part")
-- This fires Changed with "Transparency"
part.Transparency = 0.5
-- Similarly, this fires Changed with "Number"
part.Name = "SomePart"
-- Since changing BrickColor will also change other
-- properties at the same time, this line fires Changed
-- with "BrickColor", "Color3" and "Color3uint16".
part.BrickColor = BrickColor.Red()
-- A NumberValue holds a double-precision floating-point number
local vNumber = Instance.new("NumberValue")
-- This fires Changed with 123.456 (not "Value")
vNumber.Value = 123.456
-- This does not fire Changed
vNumber.Name = "SomeNumber"
-- A StringValue stores one string
local vString = Instance.new("StringValue")
-- This fires Changed with "Hello" (not "Value")
vString.Value = "Hello"





read parallel

Used to hold a double value.




This event fires whenever the NumberValue.Value property is changed.

This event, like other changed events, can be used to track when an NumberValue changes and to track the different values that it may change to.

For instance, this even may be useful in games that rely on NumberValues to track game states and values, such as item IDs.

Equivalent changed events exist for similar objects, such as ObjectValue and StringValue, depending on what object type best suits the need.


value: number

The value after the change.

Code Samples

NumberValue Changed

local numberValue = script.Parent.NumberValue
local function printValue(value)
numberValue.Value = 20