Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

What causes numbers to appear like this and how can I fix it?

This is pretty much how the script goes:

brightness = blahblahblah.Part.SpotLight

while wait(0.1) do
	script.Parent.Text = (brightness.Brightness)
end

The brightness appears as something like 4.5899906158447 when displayed on the TextLabel but in the SpotLight properties it doesn't, I want it to appear like say 4.5 instead.

1 answer

✓ Accepted answer

To fix this, simply round your number.

script.Parent.Text = math.floor(brightness.Brightness + .5)
  • math.floor function rounds a decimal down.

  • +.5 because a decimal should only be rounded down if it's below .5 --> adding .5 makes it so if the number was per say 4.55, then it would change to 5.05 and be rounded down to 5

If you don't want it to round full numbers, you can multiply the Brightness by 10^x, where x is your decimal place, then divide it by the same factor on the outside of the floor function.

--round to 10ths place
script.Parent.Text = math.floor((brightness.Brightness*10)+.5)/10

Here's a neat function for rounding to specified decimal places :)

function round(num,place)
	local divisor_and_factor = 10^place;
	return math.floor((num*divisor_and_factor)+.5)/divisor_and_factor;
end

--rounds 2 decimal places in
script.Parent.Text = round(brightness.Brightness,2);

1 comment

0

Ugh, and I was just looking through the mathematical functions page on the wiki too. Don't know how I missed it, thanks!

This discussion is preserved as it was. New answers, comments, and votes are closed.