كيف يمكنني دائمًا تجميع القيم العشرية إلى أقرب قيمة عدد صحيح؟

StackOverflow https://stackoverflow.com/questions/2559629

  •  23-09-2019
  •  | 
  •  

سؤال

في تقرير لدي الرمز التالي للحقل:

=Sum([PartQty]*[ModuleQty])

مثال نتائج 2.1 و 2.6. ما أحتاجه هو أن تتجول هذه القيمة إلى قيمة 3. كيف يمكنني تغيير رمز الحقل الخاص بي لتجميع نتائج تعبيري الحالي دائمًا؟

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل

=Int(Sum([PartQty]*[ModuleQty]))+1

أظن. من شأن ذلك أن يحصل على الجزء الداخلي من المبلغ (2) ثم إضافة 1. قد تحتاج إلى أن تكون أكثر ذكاءً بقليل لأن هذا ربما يعطيك 3 حتى لو كان المبلغ هو بالضبط 2 ، وهو ما لا تريده على الأرجح.

لم يتم اختباره ولكن شيء على طول هذه الخطوط قد يعمل (بناء جملة Access ليس رائعًا ، ولكن يجب أن يعطيك الفكرة الصحيحة):

Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
     Sum([PartQty]*[ModuleQty]),
     Int(Sum([PartQty]*[ModuleQty]))+1)

نصائح أخرى

هذه خدعة وصول قديمة تعلمتها منذ وقت طويل ، وهي تستخدم طريقة الوصول إلى أرقام سلبية كسرية. جرب هذا:

-Int(-[DecimalValue])

إنه أمر غريب ، لكنه دائمًا ما يدور حول أرقامك إلى أقرب رقم كامل.

اختبار هذا: جولة (yournumber + 0.5 ، 0)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top