Problème arrondi

Résolu
Sofloub - 11 févr. 2014 à 23:26
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 - 12 févr. 2014 à 12:19
Bonjour,
Si quelqu'un peut m'aider Svp, mon problème j'arrive pa a avoir les arrondis correctement voici mon exemple:
Edit19.text= 78,9307
dbtext6 = 13497

X:= 0,029* strtofloat(edit19.text);
X:=round(x,4);
X:=x*(dbtext6.field.value);
X:=round(x,2);
Edit21.text:=flouâttostr(x);
Ça me donne le résultat suivant: 30894,5020791
Et mon opération doit me donner exactement ça en deux opérations
0,029*78,9307 = 2,2890 (04 chiffres après la virgule)
13497*2,2890 = 30894,63 ( 02 chiffres après la virgule)
J'ai des centaines d'opérations de ce genre à additionner et le résultat final est vraiment loin, j'utilise delphi 7 entreprise
Merci pour votre aide

2 réponses

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
12 févr. 2014 à 11:54
salut essaye cela
(en adaptant les edit et DB)

procedure TForm1.Button14Click(Sender: TObject);
var X,Y : real;
begin
X:= 0.029* strtofloat(E1a.text);
X:=roundto(x,-4);
//X:=x*(dbtext6.field.value);
x := x* strtofloat(E1b.text);
X:=roundto(x,-2); //msg(floattostr(X)); exit;
E1c.text:=floattostr(x);
end;

chez moi ça fonctionne ok
1
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
12 févr. 2014 à 12:19
ne pas oublier :use math; !
0
sofloub Messages postés 6 Date d'inscription samedi 27 août 2011 Statut Membre Dernière intervention 25 février 2014
Modifié par sofloub le 11/02/2014 à 23:36
désolé erreur de saisie, c'est floatToStr
0
Rejoignez-nous