المشاركات : 494
المواضيع 45
الإنتساب : Sep 2013
السمعة :
18
الشكر: 264
تم شكره 498 مرات في 237 مشاركات
السلام عليكم ورحمة الله وبركاته
عندما أقوم بطرح عقدين أقل من الواحد الصحيح مثل
0.68 - 0.6 = 0.0800000000000001
أليس من المفروض يكون 0.08 ناتج الآلة الحاسبة
هل يوجد شيء غاءب عين لم استوعبه
أرجو الافادة
المشاركات : 1,262
المواضيع 16
الإنتساب : May 2016
السمعة :
291
الشكر: 801
تم شكره 2223 مرات في 1168 مشاركات
وعليكم السلام ورحمة الله وبركاته
بتصير معي بالاكسل أحياناً (مع حسابات المصارف) قبل ترحيلها لبرنامج الحسابات..
ناتج جمع وطرح أرقام تحتوي على خانتين عشريتين
فينتج معي مثل هذه الفروقات الناتجة عن رقم بعد الخانة الثامنة وربما أكثر
من أين يأتي هذا الرقم وكيف ؟؟!!!
الغريب أنه لا يوجد ضمن خلية بعينها ولكن بعد عشرات العمليات تظهر هذه الأرقام ..
شيء عجيب جداً
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 494
المواضيع 45
الإنتساب : Sep 2013
السمعة :
18
الشكر: 264
تم شكره 498 مرات في 237 مشاركات
27-09-23, 12:17 AM
(آخر تعديل لهذه المشاركة : 27-09-23, 12:19 AM {2} بواسطة عبدالله الصافي.)
لاحظت أن هذا الناتج مع عمليات الطرح للإعداد التي لا تحتوي على عدد صحيح و خانة ثاني عدد عبد العلامة الشعرية بيكون أكبر من خمسة
@ الأرقام في العادة في الفيجول تكون من نوع دبل
وعملية الطرح تكون بين إعداد من نوع ديسيمل
فمع تحويل كل عدد لنوع ديسيمل قبل الطرح يعطيك الناتج صحيح مظبوط
@ ويظل التساؤل قائما لماذا تلك النتيجة الغريبة مع الأعداد من نوع دبل
المشاركات : 134
المواضيع 12
الإنتساب : Sep 2013
السمعة :
10
الشكر: 90
تم شكره 217 مرات في 67 مشاركات
يمكن التغلب على هذه المشكلة باستخدام الدالة Math.Round
Dim result As Double = 0.68 - 0.6
Dim roundedResult As Double = Math.Round(result, 2)