Problème de conversion avec StrToFloat

Résolu
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 2 févr. 2007 à 15:57
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 - 5 févr. 2007 à 09:24
Salut à tous.

Problème tous simple : quand j'utilise la fonction StrToFloat, Delphi semble rajouter des chiffres à la valeur réelle du nombre, et devient alors imprécis sur cette valeur

Exemple avec le code :

var
    NombreReel:extended;
    Chaine:string;
...
NombreReel:=StrToFloat(Edit1.Text);
Chaine:=FloatToStr(NombreReel);

Si on dis que Edit1.Text="12.3659", on constate que Chaine va être egale à "12.3658999999999..."

Pourquoi delphi ajoute ces chiffres ?
Comment l'eviter ?

11 réponses

John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
2 févr. 2007 à 17:41
Vous battez pas
J'ai trouvé mon erreur !!
En fait pour reprendre mon exemple de code plus haut, j'avais déclaré NombreReel comme un "real" et non comme un "extended".
Ca se passait bien à la compilation sauf que les fonction "FloatToStr" et "StrToFloat" ont besoin d'un "extended" pour travailler, et pas d'un "real".

Merci à vous deux
3
Rejoignez-nous