الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أى الDIM أفضل للتعامل مع الأرقام الكبيرة

بدأه اسلام الكبابى في 8 أبريل 2012 · 5 رد · 678 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد أن أعرف أى الDIM أفضل للتعامل مع الأرقام الكبيرة

إذا جعلت نوعه Single فإن حجمه لا يقبل أعداداً كثيرة

و إذا كان نوعه Double فإنه لا يعطى النتائج غير صحيحة

مثلآ يجعل العدد 7.4 7.399999999 أو يجعله 7.4000000001

ففى هذا المثال مثلآ كان من الواجب أن يجعل قيمة B تساوى صفر

وبالتالى ينفذ جواب الشرط (أى يرسل الMsgBox)

ولكن هذا لم يحدث

 H = 161.58971
  K = H * 7.1 / 66
  P = K * 66 / 7.1
 B = P - H
 Print " P; H;B="; P; H; B
 If B = 0 Then Z = MsgBox("RRRRRRRRRRR", vbOKOnly, "ZERO ZERO ZERO")

فكيف يكون الDIM للتعامل مع الأرقام الكبيرة

ولكم ألف شكر

#2

السلام عليكم يااخي

بالنسبة لسؤالك

عرف المتغيرات من نوع Variant

Dim h As Variant, k As Variant, p As Variant
2

وما من كاتب إلا سيفنى *** ويبقى الدهر ماكتبت يــداه

فلا تكتب بكفك غير شيء *** يسرك في القيامة ان تراه

لا تنسى تشجيعي بالنقر على

add.png اذا كانت مشاركتي مفيدة
#3

أو يمكنك استخدام دوال الفيجوال بيزك مثل abc - format - int - val هتفيدك فى التعامل مع الارقام !!

1

Visit Me personally
Visit My Facebook VB Page

فى انتظار تعليقاتكم و اسئلتكم على
Evry1falls (Visual Basic) Plus+

 

 

#4
evry1falls كتب:

أو يمكنك استخدام دوال الفيجوال بيزك مثل abc - format - int - val هتفيدك فى التعامل مع الارقام !!

لايمكن يااخي لان المشكلة في الاساس هي يريد ناتج عملية في متغير واذا قام بتعريف متغير من نوع مثلا Single فان حجمه (4 bytes) واذا كانت القيمة اكبر من ذلك يقوم بتقريب اما المتغيرات من نوع Double فان حجمه 8 bytes

لانه حسب مثاله رياضياً لازم h=p

العادلة الاولى K = H * 7.1 / 66

المعادلة الثانية P = K * 66 / 7.1

اذا استبدلنا المتغير k في المعادلة الثانية تكون كالتالي

P = ( H * 7.1 / 66) * 66 / 7.1

وبتالي تختصر المعادلة الى p=h

وهذا ما قصده اسلام يريد الناتج 0

فاذا عرف المتغيرات من نوع double او single الناتج لايكون صفر (بسبب التقريب) في مثاله إلا اذا استخدم Variant

المتغير من نوع Variant والقيم (with numbers) حجمه 16 bytes

المتغير من نوع Variant والقيم (with characters) حجمه 22 bytes

على العموم لو استخدم النوع Variant للمتغيرات راح تكون نتيجة المثال 0 وهو المطلوب

تم تعديل هذه المشاركة بواسطة realdie10 في 9 أبريل 2012 في 15:40

1

وما من كاتب إلا سيفنى *** ويبقى الدهر ماكتبت يــداه

فلا تكتب بكفك غير شيء *** يسرك في القيامة ان تراه

لا تنسى تشجيعي بالنقر على

add.png اذا كانت مشاركتي مفيدة
#5
اقتباس
أو يمكنك استخدام دوال الفيجوال بيزك

مثل abc - format - int - val

هتفيدك فى التعامل مع الارقام !!

أنا أقصد من كلامى كما قال realdie10 تمامآ

وفعلآ جاءت النتائج صحيحة عندما جعلت جعلت نوعه Variant

ولكن ليتك تعرفنى بالدالتين abc - format

لأنى لا أعرفهما وقد أحتاج اليهما فى أى مكان آخر

ولكم ألف شكر

#6
اقتباس
أو يمكنك استخدام دوال الفيجوال بيزك

مثل abc - format - int - val

هتفيدك فى التعامل مع الارقام !!

اقتباس
ولكن ليتك تعرفنى بالدالتين abc - format

لأنى لا أعرفهما وقد أحتاج اليهما فى أى مكان آخر

لم ترد على و تعرفنى بالدالتين abc - format حتى الآن

ولكم ألف شكر

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…