منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : (تم الحل) مطلوب دالة تقريب لخلايا داتا جريد ؟؟؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

حاولت تقريب الأرقام التى بالخلايا داخل الداتا جريد عن طريق هذا الكود

كود :
CurRow.Cells("e_edafy_col").Value = Math.Round(CurRow.Cells("e_edafy_col").Value, 1

ولكن المشكلة هى فى النتائج

يقرب 2.23 إلى = 2.20 ---- المفروض هنا 2.25
يقرب 2.22 الى = 2.20 ---- هذا تمام

يقرب 2.25 الى = 2.30 ---- المفروض يتركها كما هى
يقرب 2.95 الى = 3.00 ---- المفروض يتركها كما هى

لا أدرى أين المشكلة ولكنى تعبت من كثرة البحث وعدم التوصل إلى حل .....

ارجوا مساعدتى لحل المشكلة للأهمية
على حسب ما فهمت فانك تريد التقريب بطريقة خاصة يعني بكل 5 سنتات و هذا لا تدعمه الدالة round و في هذه الحالة يتعين عليك انشاء دالة تقوم بما تريد
بالتوفيق ان شاء الله
مثل ما قال أخي أبو أسامة تركي

أبو أسامة تركي كتب :على حسب ما فهمت فانك تريد التقريب بطريقة خاصة يعني بكل 5 سنتات و هذا لا تدعمه الدالة round و في هذه الحالة يتعين عليك انشاء دالة تقوم بما تريد
بالتوفيق ان شاء الله

الأن التقريب المعتاد هو أقل من 5 ترجع 0 أما لو رقم 5 تصبح 10 كل هذا الكلام يكون للأرقام إللي بعد الفاصلة
إي إذا كان العدد
1.52 تصبح رقم 2 إلى 0 و رقم 5 إلى 10 ليصبح شكل الرقم بعد التقريب 2.00

أما لو تبي طريقة تقريب أختياريه يجب إن شاء إجراء خاص بك
الحمد لله

تم التوصل للحل

كود :
CurRow.Cells("e_edafy_col").Value = Math.Round(CurRow.Cells("e_edafy_col").Value / 0.05, 0) * 0.05
و الله أحسنت و بارك الله فيك
تم ايجاد الحل