IntValue

Show Deprecated

An IntValue stores a single signed 64-bit integer. The highest allowed value is 2^63-1 or around 9.2 quintillion (9.2^18); attempting to store larger numbers will cause integer overflow. The lowest allowed value is -2^63 or about -9.2 quintillion. Practically, however, working with integers larger than 2^53 (9.0^15) will cause loss of precision since Luau uses double-precision floating-point to store numbers.

Note that it's possible to store values between 2^53 and 2^63-1 via the Properties window since it uses strings to pass data to the engine, but manipulating large values via Luau scripts will result in loss of precision and rounding as mentioned above.

The main advantage of using IntValue lies in its rounding of values to the nearest integer, with halfway cases rounded away from 0. For values outside of this range, use a NumberValue instead. Like all ValueBase objects, this single value is stored in the Value property.

The Changed event for this (and other objects like it) will run with the new value being stored in the object, instead of a string representing the property being changed.

Properties

Value

Read Parallel

Used to hold an integer.

Methods

Events

Changed

This event fires whenever the IntValue.Value is changed. It will run with the new value being stored in the argument object, instead of a string representing the property being changed.

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

Parameters

value: number

The new value after the change.


Code Samples

How to Use IntValue.Changed

local value = Instance.new("IntValue")
value.Parent = workspace
local function onValueChanged(newValue)
print(newValue)
end
value.Changed:Connect(onValueChanged)
value.Value = 20