I am not sure if this is a bug or if this is intentional, but when you set a parts orientation for example 30 on the Z axis in studio and then playtest, on the client it will show 30.002 and the part will be oriented that extra .002. However, when you switch to the server it will display accurately and be oriented correctly.
This happens with scripts as well, for example if you insert a Script into ServerScriptService and type in the following:
--> Spawns a new part with a 30 degree orientation on the Z axis.
local Part = Instance.new("Part")
Part.Name = "OrientationPart"
Part.CanCollide = false
Part.Anchored = true
Part.CFrame = CFrame.new(0, 5, 0) * CFrame.fromOrientation(0, 0, math.rad(30))
Part.Parent = workspace
Then when you playtest you will notice it shows the extra .002 on the client but when you switch to the server it will display accurately. However, if you type the above code with a LocalScript inside StarterPlayerScripts and you playtest, it will display accurately on the client as it should. Like I said I am not sure if this is a bug or supposed to be intentional. I tried doing some research on it but couldn’t really find anything so I decided to ask here.