Ulrichleboss
Messages postés502Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention14 mai 2016
-
7 août 2014 à 19:45
Whismeril
Messages postés19144Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention16 septembre 2024
-
7 août 2014 à 20:10
Bonjour,
J'ai 4 numericUpDown et j'aimerais diviser la somme de deux d'entre eux quand leur valeur change
numericUpDown3 et 4 sont entre eux.
numericUpDown5 et 6 sont entre eux.
} else { decimal cal = (numericUpDown3.Value / numericUpDown4.Value); string result = cal.ToString("#.##"); label29.Text = result; }
Pour le 5 et 6 c'est le même code ( en modifiant les numéros des numericUpDown )
Quand je clique sur mon bouton pour avoir les numéro qui s'affichent, j'obtiens une erreur me disant que les divisions ne peuvent pas être faites avec le chiffre 0, pourtant j'ai mis " if (numericUpDown4.Value == 0)" je ne devrais pas avoir cette erreur non ?
Whismeril
Messages postés19144Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention16 septembre 2024660 7 août 2014 à 20:10
Bonsoir déjà tu devrais faire une seule méthode pour chaque couple de numericUpDown, ça évite les copier coller ratés et de devoir corriger deux fonctions quand il y a un bug. Tu écris la méthode pour l'un des deux et pour abonner le second à cette méthode fais comme sur cette capture
Par ce que là dans le 3 tu ne testes pas la valeur du 4 or 0/n est possible alors que n/0 ne l'est pas.
ensuite au lieu de
if (numericUpDown4.Value == 0)
{
//y'a rien ici!!
}
else
{
decimal cal = (numericUpDown3.Value / numericUpDown4.Value);
string result = cal.ToString("#.##");
label29.Text = result;
}
if (numericUpDown4.Value != 0)
{
decimal cal = (numericUpDown3.Value / numericUpDown4.Value);
string result = cal.ToString("#.##");
label29.Text = result;
}
enfin tu peux réduire un peu le nombre de lignes, comme ça
if (numericUpDown4.Value != 0)
{
decimal cal = (numericUpDown3.Value / numericUpDown4.Value);
label29.Text = cal.ToString("#.##");
}
voire vu que cal ne peut pas être utilisé ailleurs:
if (numericUpDown4.Value != 0)
label29.Text = (numericUpDown3.Value / numericUpDown4.Value).ToString("#.##");