So this is more likely a bug with unity, but wtf...

using a float multiply I multiplied 700 by 1.2, I get the result 840.0001, where how and why has it got 0.0001 added to the end?

same if 700 x 1.19

and 700 x 1.18 gives a 0.99999 value

another one I found too was 70 x 1.17

So with a fix unlikely (as its unity not PM) anyone got any idea how to work around this?