There is no error, But I am trying to figure out why the NumberValue is messing up, when it goes over 100 Trillion the value messes up.

Here's my code:

local plr = game.Players.LocalPlayer
repeat wait() until plr.Character ~= nil
numberCash = plr:WaitForChild("NumberRobux")
stringCash = plr:WaitForChild("leaderstats"):WaitForChild("Robux")

numberCash.Changed:Connect(function()
	local numbers = #tostring(numberCash.Value)
	stringCash.Value = numberCash.Value
	if numbers == 4 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,1).."."..string.sub(tostring(numberCash.Value),2,2).."K+"
	elseif numbers == 5 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,2).."."..string.sub(tostring(numberCash.Value),3,3).."K+"
	elseif numbers == 6 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,3).."."..string.sub(tostring(numberCash.Value),4,4).."K+"
	elseif numbers == 7 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,1).."."..string.sub(tostring(numberCash.Value),2,2).."M+"
	elseif numbers == 8 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,2).."."..string.sub(tostring(numberCash.Value),3,3).."M+"
	elseif numbers == 9 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,3).."."..string.sub(tostring(numberCash.Value),4,4).."M+"
	elseif numbers == 10 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,1).."."..string.sub(tostring(numberCash.Value),2,2).."B+"
	elseif numbers == 11 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,2).."."..string.sub(tostring(numberCash.Value),3,3).."B+"
	elseif numbers == 12 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,3).."."..string.sub(tostring(numberCash.Value),4,4).."B+"
	elseif numbers == 13 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,1).."."..string.sub(tostring(numberCash.Value),2,2).."T+"
	elseif numbers == 14 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,2).."."..string.sub(tostring(numberCash.Value),3,3).."T+"
	elseif numbers == 15 then
		stringCash.Value = string.sub(tostring(numberCash.Value),1,3).."."..string.sub(tostring(numberCash.Value),4,4).."T+"
	end
end)

The line that makes it mess up is the elseif numbers == 15 line

NOTE Look at the source code to read it better

2 comments

0

Change it to an IntValue then. Upvote if helped xD

0

that won't help at all because an intvalue has a limit off 1 billion