Weird offset while Instantiating GameObject


So let’s say I have this in my code:

Instantiate (exampleGameObject, new Vector3 (10, 0, 5), Quaternion.Euler(new Vector3 (0, 90, -90)));

Everything works fine, the gameobject is spawned, location is right, same about rotation, but… not enough. About 40% of objects get something weird like scale: 1, 1, 1.000001 or position: 9.999985, 0, 5 and same little problem with rotation. Axis on which this happens and everything else seems random to me, is there a way to fix it? It’s really annoying to keep everything perfect in variables instead of using in-world position etc.

Also setting those values later through code doesn’t seem to work aswell, percentage is smaller, but still happens.

It’s either a very weird feature or maybe my PC just doesn’t like even numbers.

That’s completely normal and expected behaviour, caused by inherent imprecision of floating-point calculations (and rhe additional imprecision of converting rotations from Euler angles to Quaternions). Simply ignore it and carry on.