المتابعون للمدونة

الاثنين، 25 أبريل 2016

تضييق الكسور


تضييق الكسور
 

فارق صغير بين فيجوال بيزيك وسي شارب، لم أنتبه له إلا بالأمس:

عند تحويل عدد كسري إلى عدد صحيح (يسمى هذا بالتضييق Narrowing)، تقوم فيجوال بيزيك بتقريبه إلى أقرب عدد صحصح.. مثال

Dim a As Integer = 15.5
MsgBox(a) ' 16

ستعرض الرسالة 16 بسبب التقريب.

لكن سي شارب تتصرف بشكل مختلف، فهي تتخلص من الكسر ولا تقوم بأي تقريب.. أي أنها تعيد أصغر عدد صحيح:

int a = (int)15.5;
MessageBox.Show(a.ToString( )); // 15

ستعرض الرسالة 15.

لكي تتحكم بشكل أفضل في عملية التحويل في كلتا اللغتين، استخدم وسائل فئة الرياضيات Math Class، مثل:

- Math.Round للتقريب (15.4 تصير 15، و 15.6 تصير 16).

- Math.Floor للتخلص من الكسر بدون تقريب (15.9 تصير 15).

- Math.Ceiling لجبر الكسر إلى أكبر عدد صحيح (15.1 تصير 16).

 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر