and if you are curious why it prints decimal numbers, it is just common bugs which even shows on any type of program or computer systems (computer cant get natural number easily and get decimal instead)
:PivotTo() is the same as changing the CFrame, it’s just used for models because you need to change more than one CFrame, but for parts it’s the exact same thing.
To extend what you’ve just discovered, let’s just discuss it a bit more.
Developers are generally required to pass numbers at a fixed precision (double, float, int64, etc.). You could also adjust your numbers with arbitrary precision, but the current engine does not support those in order to provide all of the clients & devs of Roblox the same performance. Arbitrary precision may consume the entire memory. For instance, setting all components of a Vector3 is handled quickly with fewer digits of precision. If you were to apply thousands of significant digits, this may have resulted in memory consumption.