تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C#.NET] القسمة على عدد عشري
#1
السلام عليكم
لدي تكست بأسم lblTotal
احتاج اقسم الناتج الذي بداخله على 1.15
بحيث مثلا الناتج الاجمالي 100 
يقوم هو بعمل حسابات 
ليصبح 100/ 1.15 = 86.95652173913043
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام :

كود :
double N1 = double.Parse(lblTotal.Text);
textBox1.Text = (N1 / 1.15).ToString();
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: سعود
#3
(02-03-23, 09:56 PM)Taha Okla كتب : وعليكم السلام :

كود :
double N1 = double.Parse(lblTotal.Text);
textBox1.Text = (N1 / 1.15).ToString();

ممكن تعدل الكود الى هنا
لان كل الاوامر مغلقه عليه\
كود :
private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
       {
           decimal totalBill = 0, totalDiscount = 0, totalTax = 0, countItems = 0;

           int index = e.RowIndex;
           dgvPSale.ColumnCount = 9;
           if (index >= 0)
           {
               DataTable tblQty = new DataTable();
               tblQty.Clear();
               tblQty = db.readData("select * from Products where Prod_ID = " + dgvPSale.Rows[index].Cells[0].Value + "", "");
               decimal prodQty = Convert.ToDecimal(tblQty.Rows[0][3]);

               decimal itemQty = 0;
               //if (prodQty >= Convert.ToDecimal(dgvPSale.Rows[index].Cells[3].Value))
               //{
                   itemQty = Convert.ToDecimal(dgvPSale.Rows[index].Cells[3].Value);
               //}
               //else
               //{
               //    alert.goAlert("الكمية المتاحة في المخزن غير كافية", "تحذير", frmAlertNotifications.enmType.warning);
               //    itemQty = prodQty;
               //    dgvPSale.Rows[index].Cells[3].Value = prodQty;

               //}
               decimal itemPrice = Convert.ToDecimal(dgvPSale.Rows[index].Cells[4].Value);
               
               decimal itemDiscount = Convert.ToDecimal(dgvPSale.Rows[index].Cells[5].Value);

               decimal itemNet = (itemQty * itemPrice) - itemDiscount;
               dgvPSale.Rows[index].Cells[6].Value = itemNet;
               decimal itemTax = itemNet * (Properties.Settings.Default.SaleTaxPercent / 100 ); ;// vvvvvvvvvote

               dgvPSale.Rows[index].Cells[7].Value = Math.Round(itemTax, 2);
               dgvPSale.Rows[index].Cells[8].Value = Math.Round(itemNet + itemTax, 2);

               for (int i = 0; i <= dgvPSale.Rows.Count - 1; i++)
               {
                   totalBill += Convert.ToDecimal(dgvPSale.Rows[i].Cells[8].Value);
                   totalDiscount += Convert.ToDecimal(dgvPSale.Rows[i].Cells[5].Value);
                   totalTax += Convert.ToDecimal(dgvPSale.Rows[i].Cells[7].Value);
                   countItems = Convert.ToDecimal(dgvPSale.Rows.Count);

                   //يتم ازالة السلكشن من الداتا جرد فيو وجعل السيليكشن على اخر صف للتسهيل على اليوزر
                   //dgvSaleBills.ClearSelection();
                   //dgvSaleBills.FirstDisplayedScrollingRowIndex = dgvSaleBills.Rows.Count - 1;
                   //dgvSaleBills.Rows[dgvSaleBills.Rows.Count - 1].Selected = true;
               }
               lblTotal.Text = Math.Round(totalBill, 2).ToString();
               lblTotalDiscount.Text = Math.Round(totalDiscount, 2).ToString();
               lblTotalTax.Text = Math.Round(totalTax, 2).ToString();
               lblCount.Text = (countItems).ToString();

               //for (int i = 0; i <= dgvPSale.Rows.Count - 1; i++)
               //{
               //    totalBill += Convert.ToDecimal(dgvPSale.Rows[i].Cells[6].Value);
               //    countItems = Convert.ToDecimal(dgvPSale.Rows.Count);
               //}

               //lblCount.Text = countItems.ToString();
               //lblTotal.Text = Math.Round(totalBill, 2).ToString();
   
           }
       }
التعديل في هذا السطر
بيحث لما يقرا الضريبة اللي قيمتها 15 % يرجع يخصمها مره اخرى
               decimal itemTax = itemNet * (Properties.Settings.Default.SaleTaxPercent / 100 ); ;// vvvvvvvvvote
الرد }}}
تم الشكر بواسطة:
#4
اللي صنع البرنامج فقط ممكن يفهم شو معنى كل هذه المتغيرات..

امشي مع البرنامج بالـ Debug  خطوة خطوة وبتصل للنقطة اللي صار فيها الخطأ..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: سعود
#5
حسنا، إليك الحل النهائي: بلغة Python:

كود :
def divide_by_1_point_15(lblTotal):
 return round(float(lblTotal) / 1.15, 2)

lblTotal = 100
result = divide_by_1_point_15(lblTotal)
print("The result is:", result)


بلغة C#:

كود :
double N1 = double.Parse(lblTotal.Text);
textBox1.Text = (N1 / 1.15).ToString("F");


هذا هو الحل النهائي للمشكلة التي توصلت إليها خلال محادثاتكم. أما بالنسبة للكود الذي أرسلته، فهو يحسب الإجمالي الخاص بالصنف بعد خصم الخصم وضريبة المبيعات ويخزن النتائج في الخلايا المخصصة لها.
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحويل عدد ساعات العمل من عشري (٢٫٧٥) الى - "HH:MM" في التقارير - تم الحل Rabeea Qbaha 7 5,849 16-06-19, 01:48 PM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم