There is a paper by Guy Steele and Jon L White in SIGPLAN notices "How to print floating-point numbers accurately" (1990) as well as instructions on binary to decimal conversion for IEEE floats that might help.