السلام عليكم
ارغب فى دالة لتقريب نتيجة عملية القسمة " الرقم العشري " للرقم الصحيح بغض النظر عن قيمته على سبيل المثال
10/5 = 2 نتيجة التقريب ( الدالة ) تكون 2
10/3 = 3.33333 نتيجة التقريب ( الدالة ) تكون 4
10/6 = 1.66666 نتيجة التقريب ( الدالة ) تكون 42
مرفق المثال
جزاكم الله خير
(25-01-15, 01:29 PM)aboezzat84 كتب : [ -> ]السلام عليكم
ارغب فى دالة لتقريب نتيجة عملية القسمة " الرقم العشري " للرقم الصحيح بغض النظر عن قيمته على سبيل المثال
10/5 = 2 نتيجة التقريب ( الدالة ) تكون 2
10/3 = 3.33333 نتيجة التقريب ( الدالة ) تكون 4
10/6 = 1.66666 نتيجة التقريب ( الدالة ) تكون 42
مرفق المثال
جزاكم الله خير
اخي العزيز
10/5 = 2 لاتحتاج الى تقريب
10/3 =3.3333 يمكن تقريبها الى 3 وليس الى 4
اما 10/6 = 1.66666 كيف يكمن تقريبها الى 42 ؟
لن تجد دالة للتقريب بهذا الشكل ابدا!!!
او اني فهمتك خطا !!
على العموم يمكن استخدام
10\3 = 3 اي استخدم (\) بدل (/) في عملية القسمة ستعطيك رقم صحيح بدون كسور عشرية . وكما قلت سابقا فان هذه العملية تقرب الى اقرب عدد صحيح وليس كما اردت في امثلتك اعلاه .
السلام عليكم
تستعمل الدالة Math.Round للتقريب (لا اعلم ان كانت موجودة في vb6)
fix تحذف الكسور . ومن ثم نقارن لو العدد اكبر بعد حذف الكسور نقوم بزيادة واحد للرقم الموجود بالتكست بوكس .
if val(text1.text) > fix(text1.text) then text1.text = val(text1.text) + 1
كلامك صحيح ولكن ماذا نفعل لهذا المثال 10/6 = 1.66666 نتيجة التقريب ( الدالة ) تكون 42 ؟!! هل توجد دالة لعمل ذلك ؟؟افيدونا جزاكم الله خيرا
أهلا , هذه دالة التقريب ضع العملية الحسابية بين القوسين :
كود :
Text1.Text = Round(10 / 1.66666)
السلام عليكم
اشكركم جميعا
فى البدايه اعتذر عن الخطأ فى ( 10/6 = 1.66666 نتيجة التقريب ( الدالة ) تكون 42 ) اقصد التقريب لـ 2
اعلم جيدا قواعد التقريب العاديه ولكن هذه حاله خاصة
تم التعامل معها كلآتى :
1- حفظ ناتج القسمة فى متغير وليكن X
2- الغاء الارقام بعد اللامة العشرية وليكن Y
3- المقارنه بين القميه X & Y .
جزاكم الله خير
لم اطلع على المثال
يمكنك استخدام دالة التقريب بالزيادة Ceiling
مثل
TextBox1.Text = Math.Ceiling(1.111)