Why not use FloatToStr or at least look at how FloatToStr is coded (to get an idea on how it's done), in Delphi or Free Pascal. it might give you some pointers.