Here is the code there are no errors:
money.Changed:Connect(function()
if money.Value >= 10 ^ 3 then
if string.len(tostring(money.Value / (10 ^ 3))) > 3 then
cash.Value = string.sub(tostring(money.Value / (10 ^ 3)), 1, 3).."K+"
else
cash.Value = string.sub(tostring(money.Value / (10 ^ 3)), 1, 3).."K"
end
elseif money.Value >= 10 ^ 6 then
if string.len(tostring(money.Value / (10 ^ 6))) > 3 then
cash.Value = string.sub(tostring(money.Value / (10 ^ 6)), 1, 3).."M+"
else
cash.Value = string.sub(tostring(money.Value / (10 ^ 6)), 1, 3).."M"
end
elseif money.Value >= 10 ^ 9 then
if string.len(tostring(money.Value / (10 ^ 9))) > 3 then
cash.Value = string.sub(tostring(money.Value / (10 ^ 9)), 1, 3).."B+"
else
cash.Value = string.sub(tostring(money.Value / (10 ^ 9)), 1, 3).."B"
end
elseif money.Value >= 10 ^ 12 then
if string.len(tostring(money.Value / (10 ^ 12))) > 3 then
cash.Value = string.sub(tostring(money.Value / (10 ^ 12)), 1, 3).."T+"
else
cash.Value = string.sub(tostring(money.Value / (10 ^ 12)), 1, 3).."T"
end
else
cash.Value = string.sub(tostring(money.Value), 1, 3)
end
end)
cash is a stringvalue in the player which displays on the leader board. money is a value in serverstorage.

8 comments
You're asking why there's no errors?
is money.Value a string if so, don't make it a string!
The script is not displaying the money amount correctly. money.Value is a number value.
I want the leader board to display a string value
Its just displaying the wrong number along with the wrong letter
Are you able to show the variable "money"
?
I think it has something to do with the division but I don't know how to fix it