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

كيف اقرب الرقم لأقرب وحدة

مغلقمُجاب
بدأه حامد محمد الوصيف في 31 مارس 2013 · 8 رد · 6,159 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم 

 

انا استخدم هذا الكود لحساب رقمين ولكن فى بعض الأحيان الرقم يأتى به ارقام كثيرة بعد العلامة العشرية فاريد تقريبها لاقرب وحدة

 

وهذا هو الكود

 

 

لو ينفع احول textBox3 دون تغير الكود يكون افضل

 

double a = Convert.ToDouble(textBox1.Text);
                double b = Convert.ToDouble(textBox2.Text);
                double c = a * b;
                textBox3.Text = c.ToString();

 

4.32333   يكون    4.3

تم تعديل هذه المشاركة بواسطة حامد محمد الوصيف في 31 مارس 2013 في 03:02

13598125002.gif

038c8ecfa8.gif

#2

استخدم الدالة 

 

Math.Round

لتقريب القيم

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3
محمد فؤاد تركي كتب:

استخدم الدالة 

 

Math.Round

لتقريب القيم

 

كيف استخدم هذه الدالة ياريت التوضيح

 

شكرا جزيلا على التعاون

13598125002.gif

038c8ecfa8.gif

#4

أخي الفاضل

حامد محمد الوصيف

 

مرفق مثال يوضح طريقة عمل الدالة Math.Round

 

 

Math.Round.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5
محمد فؤاد تركي كتب:

أخي الفاضل

حامد محمد الوصيف

 

مرفق مثال يوضح طريقة عمل الدالة Math.Round

 

 

 

مشكور لاهتمامك 

 

 

ولكن المثال لا يفتح عندى وهذه رسالة الخطأ فى المرفقات

 

فارجو ارفاق كود لو امكن بالسى شارب

 

وشكرا جزيلا

post-133160-0-24892400-1364856554_thumb.

تم تعديل هذه المشاركة بواسطة حامد محمد الوصيف في 2 أبريل 2013 في 01:49

13598125002.gif

038c8ecfa8.gif

#6

من خلال الرسالة المرفقة أعتقد انك تستخدم اصدار أقدم من الاصدار 2008 علي أي حال

مرفق برنامج تحويل المشاريع من 2008 الي 2005 والعكس

 

حل آحر يمكنك فتح Form1 عن طريق Open with Text file ثم تأخذ الكود وتحولة الي #C عن طريق موقع تحويل الاكواد

 

من هنا

 

http://www.developerfusion.com/tools/convert/csharp-to-vb/

 

أيضا لقد قمت بتحويل الكود لك واتمني ان يعمل معك

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            Int32 MyCMPrice ;


            MyCMPrice = Convert.ToInt32(textBox1.Text) / Convert.ToInt32(textBox2.Text);


            textBox3.Text = Math.Round(Convert.ToDecimal(MyCMPrice), 2);
        }
    }
}

 

 

ProjectConverter.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7
محمد فؤاد تركي كتب:

من خلال الرسالة المرفقة أعتقد انك تستخدم اصدار أقدم من الاصدار 2008 علي أي حال

مرفق برنامج تحويل المشاريع من 2008 الي 2005 والعكس

 

حل آحر يمكنك فتح Form1 عن طريق Open with Text file ثم تأخذ الكود وتحولة الي #C عن طريق موقع تحويل الاكواد

 

من هنا

 

http://www.developerfusion.com/tools/convert/csharp-to-vb/

 

أيضا لقد قمت بتحويل الكود لك واتمني ان يعمل معك

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            Int32 MyCMPrice ;


            MyCMPrice = Convert.ToInt32(textBox1.Text) / Convert.ToInt32(textBox2.Text);


            textBox3.Text = Math.Round(Convert.ToDecimal(MyCMPrice), 2);
        }
    }
}

 

شكرا لاهتمامك ولكن قمت بتطبيق الكود ولن يظهر لى هذا الخطأ ( فى المرفقات )

 

وقمت بعمل الكود التالى ( فى المرفقات ) وقد تم القريب 4 أرقام بعد العلامة 

 

فهل من حل للتقريب لرقمين بأى من الكودين

post-133160-0-45363500-1364946626_thumb.

post-133160-0-55939300-1364946634_thumb.

13598125002.gif

038c8ecfa8.gif

#8 أفضل إجابة

هذا المثال يقوم بتقريب العدد الموجود داخل TextBox الي أقرب رقمين فقط كما طلبت

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
           textBox1.Text = Math.Round(double.Parse(textBox1.Text), 2).ToString();
        }


        private void Form1_Load(object sender, EventArgs e)
        {      
          textBox1.Text = "3722.34567";   
        }
    }
}

 

مثال آخر

 

 

 private void button1_Click(object sender, EventArgs e)
        {

           double value = Math.Round(20.697123, 2, MidpointRounding.ToEven);


           textBox1.Text = value.ToString("0.00");
        }

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 3 أبريل 2013 في 08:51

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#9
محمد فؤاد تركي كتب:

هذا المثال يقوم بتقريب العدد الموجود داخل TextBox الي أقرب رقمين فقط كما طلبت

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
           textBox1.Text = Math.Round(double.Parse(textBox1.Text), 2).ToString();
        }


        private void Form1_Load(object sender, EventArgs e)
        {      
          textBox1.Text = "3722.34567";   
        }
    }
}

 

مثال آخر

 

 

 private void button1_Click(object sender, EventArgs e)
        {

           double value = Math.Round(20.697123, 2, MidpointRounding.ToEven);


           textBox1.Text = value.ToString("0.00");
        }

 

تم الحمد لله بالمثال الأول

 

شكرا جزيلا لاهتمامك وتمنياتى لك بالتوفيق إن شاء الله

13598125002.gif

038c8ecfa8.gif

هذا الموضوع مغلق.

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