الانتقال إلى المحتوى

الرجاء المساعدة يااخوان... the CInt function


انريكي

Recommended Posts

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

أخواني ارجوا منكم المساعده


Dim a As Integer = 8

       Dim b As Single = 2.5

       a = CInt(

       MessageBox.Show(a)



عندما اجرب هذا الكود واغير قيمة b وجدت الملاحظات التالية

وهو مرة يقرب للعدد الاكبر ومرة يلغي التقريب اي لم اجد منطق فية ولا تفسير

قيمة b المدخلة1.5
قيمة a المستخرجة2

قيمة b المدخلة2.5
قيمة a المستخرجة2

قيمة b المدخلة3.5
قيمة a المستخرجة4

قيمة b المدخلة4.5
قيمة a المستخرجة4

قيمة b المدخلة 5.5
قيمة a المستخرجة6

قيمة b المدخلة 6.5
قيمة a المستخرجة6

رابط هذا التعليق
شارك

الاخ الكريم
لاحظت ان دائما المخرجات تكون اعداد زوجية
دا طبعا مش تفسير ولكن ملاحظة فقط
دا ممكن يساعد فى ايجاد التفسير
هل هذه الدالة تقرب لاقرب عدد زوجى فقط (يمكن)
معكم ولكم نتواصل
م احمد

رابط هذا التعليق
شارك

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

بحثت لك فى النت وجدت ملاحظة الأخ / احمد ... صحيحه ... فهذه الوظيفة تقرب الى اقرب رقم زوجي ولا تقرب الى اقرب رقم فردي
وهذا هو السبب ( انه اذا كانت هناك مجموعه كبيرة من الأرقام يراد جمعها فلايحدث تجميع لجميع نتائج الوظيفة مقربه ... وانما يكون هناك جزء مقرب وأخر غير مقرب )

When the fractional part of a value is exactly 0.5, the CInt function rounds to the closest even number.


For example,
0.5 rounds to 0,
1.5 rounds to 2,
and 3.5 rounds to 4.
The purpose of rounding to the closest even number is to compensate for a bias that could accumulate when many numbers are added together

مصدر المعلومة.

رابط هذا التعليق
شارك

السلام عليكم جميعاً
كما تفضل الاخ احمد والمشرف الرائع أمجد أنه ترجع دائما أعداد زوجية والاعداد الزوجية هي من الاعداد الصحيحة الدالة وظيفتها تحويل القيم الى عدد صحيح والمقصود بهذا أنها تقبل القسمة الصحيح أي DIVISION
DIV كما تسميها بعض اللغات وهي إختصار لعبارة CONVERT TO INTEGER وفي ملاحظتك أنها مرة تقرب الى عدد ومرة لاتقرب والسبب أنها اذا كان التقريب سيسفر عنه عدد صحيح قربت وإذا الناتج لم يكون عدد صحيح تلغي الكسر طبعاً في حالة المتغبر من نوع VARIANCE مثلاً في لغة VB وايضاً إذا أدخلت قيمة في مربع نص في لغة VB فإن الراجع منها نوعه نصي ومن أجل التعاملات السابقة بالقسمة الصحيحة تستخدم هذه الدالة وأقصد مثلاً ( A = CINT( TEXT1.TEXT
وتستخدم الدالة القيم الصحيحة المحصورة بين القيمتين 32768- و 32767
هذا والله أعلم
وفقك الله
أخوك ....

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية