for your second question
I'm not good at maths, so can you explain what 'digit masking of float types is an invalid action' please
I think you mean
I'm not good at maths, so can you explain why 'digit masking of float types is an invalid action' please


see this link for how a computer stores a floating point number (I would assume Oshonsoft uses ieee754 32 bit floats) masking floats is entirely inappropriate

http://www.h-schmidt.net/FloatConverter/IEEE754.html