Saving scenes in unity 5.3 changes float values

Ok, so when I save my scene I have an objects x transform set to 6.0 in the editor however when I reload the scene later the value sometimes to changes to like 5.8 or 6.01. This is the first time I have seen this happen in Unity.

This is happening especially to transform rotation values and position values.

It is really annoying as I am placing level pieces and they need to snap together, these gaps are leading to light leakage.

And no, they are not thousands of units from the origin either.

You can try to create a custom script RunningInEditor that contains Position and Euler rotation and save/apply them OnBeforeSerialize onAfterDeserialize

Myclass : Mono, ISerializationCallbackReceiver
{
doube eulerx,eulery,eulerz;
double positionx,y,z;
}