Bonjour,
j ai un probleme de conversion avec la fonction StrToFloat() sous Delphi 6. Peut-etre quelqu un aura-t-il une solution simple a proposer.
J'ai une valeur numérique qui est saisie dans une StringGrid (par exemple, 0.001).
Je souhaite la convertir en Double pour pouvoir la traiter comme une valeur numérique :
avec grid.Cells[3,1], la cellule contenant la valeur numerique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 stepValue : Double; stepValue := StrToFloat(grid.Cells[3,1]);
Le probleme est que stepValue ne va pas valoir "0.001" mais "0.001 plus ou moins un epsilon" (0.00999999999). Cette erreur de precision a des répercussion dramatique sur le reste de mon programme.
Par exemple, si je fais floor(1/stepValue), resultat ne vaut pas 1000 mais 999
Je pense que le probleme peut provenir du fait que StrToFloat fournit un 'extented' alors que ma variable est de type 'double'.
Comment puis-je regler mon probleme de conversion 'string' -> 'double' si vous plait ? Comment eviter une perte de precision lors du passage 'string' vers 'double' ?
Ludo
Partager