نوع بيانات العشري (Visual Basic)

توقيع قوائم احتجاز 128-بت (16 بايت) القيم يمثل عدد صحيح 96 بت (12 بايت) تم تحجيمها بواسطة متغير بأساس من 10 أرقام . عامل التحجيم يحدد عدد الأرقام إلى يمين العلامة العشرية ، يتراوح من 0 إلى 28. مع مقياس يبدأ من الصفر (لا منازل عشرية)، أكبر قيمة ممكنة +/-79,228,162,514,264,337,593,543,950,335 (+/-7 .9228162514264337593543950335E + ٢٨). مع 28 خانات عشرية، يكون أكبر قيمة +/-7.9228162514264337593543950335 ويكون أصغر قيمة غير صفرية +/-0.0000000000000000000000000001 (+/-1E-28).

ملاحظات

نوع البيانات Decimal يوفر أكبر عدد الأرقام المعنوية للعدد. وتدعم الأرقام المعنوية التي تصل إلى 29 والتي يمكن أن تمثل القيم الزائدة من 7.9228 x 10^28. وهي مناسبة بشكل خاص للحسابات، مثل المالية, التي تتطلب عدد كبير من أرقام ولكنها لا تستطيع تجنب أخطاء التقريب.

القيمة الافتراضية لـ Decimal هي صفر.

التلميحات البرمجية

  • دقة. Decimal ليست من نوع البيانات الفاصلة العائمة- . بنية ال Decimal تحتوي قيمة عدد صحيح ثنائي مع بت تسجيل عدد صحيح يحدد كسور العشرية هو جزء من قيمة عامل التحجيم. لهذا السبب ، أرقام ال Decimal يكون لها تمثيل أكثر دقة في ذاكرة من أنواع الفاصلة العائمة)Single و Double).

  • الأداء نوع بيانات Decimal هو أبطأ من الكل الأنواع الرقمية. يجب عليك المفاضلة بين أهمية الدقة مقابل الأداء قبل اختيار نوع بيانات.

  • **التوسيع.**نوع بيانات Decimal تتوسع إلى Single أو Double . وهذا يعني أنه يمكنك تحويل Decimal إلى أي من هذه الأنواع بدون أخذ خطأ System.OverflowException بالاعتبار.

  • **الأصفار الزائدة.**لا يقوم Visual Basic بتخزين أصفار زائدة في القيمة الحرفية Decimal . ومع ذلك ، يحتفظ المتغير من نوع Decimal بأية أصفار زائدة مطلوبة للحسابات. فيما يلي مثال يوضّح ذلك.

    Dim d1, d2, d3, d4 As Decimal
    d1 = 2.375D
    d2 = 1.625D
    d3 = d1 + d2
    d4 = 4.000D
    MsgBox("d1 = " & CStr(d1) & ", d2 = " & CStr(d2) &
          ", d3 = " & CStr(d3) & ", d4 = " & CStr(d4))
    

    الإخراج MsgBox في المثال السابق كما يلي:

    d1 = 2.375, d2 = 1.625, d3 = 4.000, d4 = 4

  • نوع الأحرف. إلحاق نوع القيمة الحرفية D إلى قيمة حرفية تفرض نوع البيانات Decimal . إلحاق معرّف نوع الحرف @ إلى أي معرّف يفرض أن Decimal.

  • نوع إطار العمل. النوع المطابق في .NET Framework هو بنية System.Decimal.

النطاق

قد تحتاج إلى استخدام نوع الحرف D لتعيين قيمة كبيرة إلى متغير أو ثابت Decimal . فيما يلي مثال يوضّح ذلك.

Dim bigDec1 As Decimal = 9223372036854775807   ' No overflow.
Dim bigDec2 As Decimal = 9223372036854775808   ' Overflow.
Dim bigDec3 As Decimal = 9223372036854775808D  ' No overflow.

يفسر المحول البرمجي حرفي كـ Long إلا إذا كان متبوعاً بحرف نوع قيمة حرفية. التعريف bigDec1 لا ينتج حدث تجاوز لأن القيمة الخاصة به داخل نطاق Long. ومع ذلك، لقيمة bigDec2 قطر أيمن متوسط جداً Long، لذلك المحول البرمجي يقوم بإنشاء خطأ. القيمة الحرفية لنوع الحرف D يحل المشكلة لـ bigDec3 بواسطة فرض المحول البرمجي إلى تفسير الحرفي كـ Decimal.

راجع أيضًا:

المرجع

خلاصة نوع بيانات (Visual Basic)

System.Decimal

Decimal.Decimal

نوع البيانات المفرد (Visual Basic)

نوع بيانات مزدوج (Visual Basic)

دوال تحويل النوع

خلاصة التحويل

المبادئ

كفاءة استخدام أنواع البيانات