enlever 0.05 a une variable double ?
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 :
Code:
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; } |
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
merci de votre aide