الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خطأ في كود التحويل

بدأه -الأمل- في 9 يونيو 2011 · 6 رد · 338 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته:

هذا كود أريد من خلاله أن يحسب نسبة التقدم في المهام ويظهر خطأ عندما أحول string إلى double....أرجو المساعدة في تصحيح الكود

 public partial class _Default : System.Web.UI.Page
{
    double sum_tasks;
    double total;
    double average;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            DropDownList1.DataBind();

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        basic b = new basic();

        string st = "select sum(complete) from Tasks where complete=1 AND Subproject_Id='" + DropDownList1.SelectedItem.Value + "'";
        string sr = "select count(complete)from Tasks where Subproject_Id='" + DropDownList1.SelectedItem.Value + "'";
        b.FullDataReader(st);
        if (GridView1 != null)
            while (b.SqlReader.Read())

                sum_tasks = (Convert.ToDouble(b.SqlReader[0].ToString()));///  هنا يظهر الخطأ إنه تنسيق سلسلة الإدخال غير صحيح
                b.SqlReader.Close();
                b.SqlConnection.Close();
                b.FullDataReader(sr);

        while (b.SqlReader.Read())
            total = Convert.ToDouble(b.SqlReader[0].ToString());

        b.SqlReader.Close();
        b.SqlConnection.Close();

        average = sum_tasks / total * 100;
        Label3.Text = average.ToString();

    }
#2

خلاص شكراً ضبط...طلعت مو معبيه الحقول :happy:

post-240687-083057700 1307646820_thumb.p

بس كيف أقدر أقرب الرقم برمجياً بحيث يظهر بعد الفاصلة رقمين فقط

المرفقات
jjjj.png

تم تعديل هذه المشاركة بواسطة -الأمل- في 9 يونيو 2011 في 22:13

#3

السلام عليكم ورحمه الله وبركاته

اختي يمكنك استخدام الداله Math.Round() طبعا تقبل قيمتين الاولى الرقم المراد تقريبه والثاني عدد خانات التقريب

.:: Wish to become better and better ::.

#4

طيب ممكن أعرف كيف استخدمها

دحين هذا الكود اللي حيطلع النسبة

average = sum_tasks / total * 100;

كيف استخدم math.round؟؟؟

#5

السلام عليكم ورحمه الله وبركاته

اختي جربي التالي

Math.Round(average,2)

طبعا في المثال السابق سيتم تقريب المعدل لخانتين عشريتين يمكنك تغيير الوسيط الثاني حسب رغبتك ولابد لك من اسناد النتاتج الى متغير ما او طباعته

.:: Wish to become better and better ::.

#6

وعليكم السلام ورحمة الله وبركاته....شكراً جزيلاً

#7

السلام عليكم ورحمه الله وبركاته

لاشكر على واجب اختي .. بالتوفيق ..

.:: Wish to become better and better ::.

مواضيع مشابهة