Après de nombreuses recherches et questions j'ai pu me baser sur un code du forum allemand pour recréer les fonctions de la librairie String mais sans les deux problèmes que j'ai cité.
Tout fonctionne à merveille sauf 3 fonctions:
- StrF
- ValF
- StrU
En effet StrF et ValF utilisent le type Float et il existe un problème inhérant à l'architecture binaire qui provoque une imprécision des valeurs.
Pour faire plus simple si vous transformez la chaîne "123.123" en Float on obtient le résultat 123.123001 et inversément si on transforme le Float 123.123 on obtient la chaîne "123.123001".
Selon mes informations, peu importe le compilateur ou la machine c'est dû à l'architecture 32bit; la 64bit ne fait qu'augmenter la précision mais ne règle pas définitivement le problème.
Pour la fonction StrU c'est plus simple, je ne l'ai pas implémentée car elle me semble très peu (voir pas du tout) utilisée.
Afin de contenter le plus grand nombre de personnes, je vous demande si ces fonctions sont nécéssaires tout en sachant que StrF et ValF seront d'office "imprécises".
Je précise aussi que le code source, la librairie et l'aide (si j'ai le courage) seront mis à votre disposition après avoir testé et retesté la chose (d'ailleurs si ça intéresse quelques testeurs

Merci à tous.