bonjour, je travail sur un monnayeur et quand le prix est de 499,99€ si je donne 500€ la monnaie est de : 0,00999989826281819999, je voudrais seulement 0,01 et je trouve pas mon problème. Pouvez vous m'aider ?
voici une partie du code qui fonctionne pas :
et après c'est exactement pareille mais avec 200 ; 100 ; 50 ; 20 ; 10 ; 2 ; 1 ; 0,5 ; 0,2 ; 0,1 ; 0,05 ; 0,02 ; 0,01
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 int u500; u500 = Convert.ToInt32(mainForm.l500.Text); // u500 est le nombre de billet de 500 que j'ai dans ma caisse int c500 = 0; // c500 est initiée a 0 ailleurs et est le nombre de billet de 500 qu'on doit rendre double Lm; Lm = Convert.ToDouble(mainForm.lMonnaie.Text); // valeur rentrée sur un label (lMonnaie) dans un autre form (mainForm ) while (Lm >= 500) { if (u500 >= 1) { u500 = u500 - 1; c500 = c500 + 1; Lm = Lm - 500; int t = int.Parse(mainForm.l500.Text);// nb de billet dans la caisse int s = t - 1;// nb de billet de caisse -1 mainForm.l500.Text = s.ToString(); } if (u500 == 0) { break; } } if (c500 >= 1) { mainForm.lmonnayeur.Text += "\nBillet de 500 :" + c500; }
merci de votre aide
Partager