The value printed out is 0.00999999978 which funks up my on-screen slider values. From my limited knowledge I would have thought there would be no loss of precision in this case but it seems there is? Any ideas?
This imprecision does not come from converting between String and float, but the way values are stored in floating point variables. These do not have unlimited precision, and some values that are short to represent in base 10, are very long or repeating in base 2.
For more information http://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/ (just a random link coming up when looking for floating point 0.1, because that's a famous example)