comment faire pour arrondir la valeur à seulement 3 points décimaux?

je suis en train de travailler sur un logiciel d'inventaire, et a été le calcul de la réduction en pourcentage et en montant.

  • signifie quand je rentre % montant de convertir automatiquement à prix#
  • et quand je rentre de prix, il convertit automatiquement à l' % #

le code j'utilise pour convertir les prix en % est-ce:

if(txtDiscount.Text == "" || txtGrandTotal.Text == "")
            {
                MessageBox.Show("Please Enter amount in Grand Total",Application.ProductName,MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            else
            {
              // double percent;
                double grandTotal;
                double per;
                double txDiscount;

                //percent = Convert.ToInt32(txtPercant.Text);
                grandTotal = Convert.ToInt32(txtGrandTotal.Text);
                txDiscount = Convert.ToInt32(txtDiscount.Text);


                per = txDiscount / grandTotal * 100;

                //per = percent /100 * grandTotal;

                if (per % 3 != 0)
                    per = (per - per % 3) + 3;


                txtPercant.Text = Convert.ToString(per);

                    ................
                    ................
                    ................
                    ................
                    ................

maintenant, supposons que si je suis saisi le montant est "25", puis le pourcentage de comte est "2.77777777777778". je veux limiter à trois décimales après le point, comme je veux être "2.778" ou quelque moyen que ce soit, je veux montrer que 3 décimales après le point, quelqu'un peut-il m'aider dans la voie que je peut faire ?? toutes les suggestions seraient appréciées!!

EDIT:

Coversion Prix % Code est:

  private void txtDiscount_Leave(object sender, EventArgs e)
        {  
            if(txtDiscount.Text == "" || txtGrandTotal.Text == "")
            {
                MessageBox.Show("Please Enter amount in Grand Total",Application.ProductName,MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            else
            {
              // double percent;
                double grandTotal;
                double per;
                double txDiscount;

                //percent = Convert.ToInt32(txtPercant.Text);
                grandTotal = Convert.ToInt32(txtGrandTotal.Text);
                txDiscount = Convert.ToInt32(txtDiscount.Text);


                per = txDiscount / grandTotal * 100;

                //per =  Math.Round(per, 3);
                per = Math.Truncate(per * 1000) / 1000;

                txtPercant.Text = Convert.ToString(per);








                double lblgrandTotal = 0.0;
                double Disconunt = 0.0;
                double netTotal = 0.0;

                lblgrandTotal = Convert.ToDouble(txtGrandTotal.Text);
                Disconunt = Convert.ToDouble(txtDiscount.Text);
                netTotal = grandTotal - Disconunt;

            //netTotal = Convert.ToInt32(grandTotal) - Convert.ToInt32(Discount);

            lblNetTotal.Text = Convert.ToString(netTotal);

            }
        }

Cobersion de % à Prix Code est :

   private void textBox1_Leave(object sender, EventArgs e)
        {
            if (txtPercant.Text == "")
            {
                MessageBox.Show("Please Enter value in Percenent", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                double percent;
                double grandTotal;
                double per;

                percent = Convert.ToDouble(txtPercant.Text);
                grandTotal = Convert.ToDouble(txtGrandTotal.Text);

                per = percent / 100 * grandTotal;

                txtDiscount.Text = Convert.ToString(per);

                double lblgrandTotal = 0.0;
                double Disconunt = 0.0;
                double netTotal = 0.0;

                lblgrandTotal = Convert.ToDouble(txtGrandTotal.Text);
                Disconunt = Convert.ToDouble(txtDiscount.Text);
                netTotal = grandTotal - Disconunt;

                //netTotal = Convert.ToInt32(grandTotal) - Convert.ToInt32(Discount);

                lblNetTotal.Text = Convert.ToString(netTotal);
            }
        }

mais le problème je suis confronté est que je suis la conversion % des prix, et Vice-Versa, maintenant, dans le cas où je suis l'ajout de 12 à Prix, il dit 12.33%, et quand j'ai mis 12.33% il reconvertit à 11.997 Prix qui n'est pas le même et c'devrait être... il devrait être exactement 12 pas 11.997... vraiment confus en elle..!!

REMARQUE:

par prix, je veux dire que je suis le calcul de % de remise de prix et de rabais sur le total, les moyens, si j'ajoute 12%, alors qu'il calculer le prix d'escompte de total et, si j'entre le prix montant puis il calcule le %de réduction de total

Math.Round(2.77777777777778, 3)
je veux convertir la valeur par variable non la valeur réelle je ne sais pas la valeur de l'utilisateur à entrer à chaque fois bro @L. B
Math.Round(d, 3)
Grâce Fonctionné pour moi 🙂
un plus de problèmes se posent ici, quand je suis saisie de 12 à Prix, il dit 12.33%, et quand j'ai mis 12.33% il reconvertit à 11.997 RS, qui n'est pas le même et c'est... :/

OriginalL'auteur Ahsan Hussain | 2014-01-25