I believe your problem is related to the binary nature of floating-point numbers. Increasing the floating point precision may not help you. You want something like Binary Coded Decimals (BCD). See the book "Code" by Petzold, page 338.
The thing is that there are, as always, space limitations. Plus I don't think BCD is explicitly contemplated in most computer languages. Probably because all you need is to take into account the bias of floating-point numbers, and round your results.
332.156 / 10.0~33.215599
If you round the last digit of the result you get what you want because 9 goes up to 10 and that will give you 60. Try it. Single precision is accurate up to 1 part in 2^24, and double precision is accurate up to 1 part in 16,777,216.
Hope that helps!