Ok take a look at the following code:
[pascal]MrHappyString := FloatToStr(10000);
ShowMessage(MrHappyString);[/pascal]

Ok looks rather simple right? Well, $10 bucks says it'll return '9999.999843524425' or some other crap. :?

For my purposes I require a simple and *accurate* conversion of a int/real value to a string with no trailling 0s or unrequired decimal point.

Does anyone have some code suggestions to replace the FloatToStr function?