It doesn’t work on IntValues because they can only store whole numbers. Since you are adding 0.1, it wont work until you get a whole number (i.e. 1, 2, 3)

I think I understand your problem. You want a way so that numbers are always 0.3 instead of 0.30000000000000004 for example. If so, then the issue you have is because of something called “floating-point errors” which is caused by the way computers calculate float values or fractions (0.3 is a float value) and to solve it you will need to do this:

local workspace = game:GetService"Workspace"
local number = 0
local precision = 10 -- If you want to increase number by 0.01 then this will need to be 100 and so forth
local round = math.round
while true do
task.wait(0.1)
number += 0.1
workspace.Name = round(x * precision) / precision
end