trystrtofloat donne une valeur incorrecte
Original Reporter info from Mantis: cbalo
-
Reporter name: Christophe
Original Reporter info from Mantis: cbalo
- Reporter name: Christophe
Description:
Mettant au point une fonction d'arrondi complexe, je n'arrivai pas à la mettre au point.
En exécution pas à pas, je me suis aperçu qu'une chaîne n'était pas toujours correctement transformée en double :
En effet : 1.1 devient 1.10000000000000001
(voir copie d'écran ci-joint)
Ce problème est la raison qui fait que ma fonction d'arrondi à 2 décimales arrondi 1.1 à 1.11 au lieu de 1.10
Steps to reproduce:
Exécution pas à pas de
procedure TForm1.Button1Click(Sender: TObject);
var x1,double;
begin
Edit1.text:='1.1';
if not trystrtofloat(edit1.text,x1) then exit;
end;
Et afficher la valeur de x1 (ou de x2) en mode déboggage (comme la copie d'écran)
Additional information:
J'espère avoir poster au bon endroit. Si ce n'est pas le cas, merci de m'en excuser.
Mantis conversion info:
- Mantis ID: 36867
- OS: Windows
- OS Build: 10
- Build: 60964
- Platform: PC x64
- Version: 2.0.2
- Monitored by: » Vincent (Vincent Snijders)