الدالة round()‎ في بايثون

من موسوعة حسوب
مراجعة 07:46، 22 مايو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Python/float-arithmatics' ب'Python/float_arithmatics')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدّالة round()‎ قيمة العدد المُعطى مُقرّبًا حسب عدد الأرقام كتقريب بعد الفاصلة.

البنية العامة

round(number[, ndigits])

المعاملات

number

العدد المُراد تقريبه.

ndigits

مُعامل اختياريّ يُمثّل عدد الأرقام بعد الفاصلة ويكون عددًا صحيحًا (سواء أكان سالبًا، أو موجبًا، أو صفرًا). إن لم تُمرّر له أيّة قيمة أو مُرّرت إليه القيمة None، فستُعيد الدّالة أقرب عدد صحيح للمُعامل number.

القيمة المعادة

عدد مُقرّب حسب المُعاملات المُعطاة.

تُقرّب القيم إلى أقرب مُضاعف من مُضاعفات 10 مرفوعًا إلى قوّة ناقص العدد المُمرّر إلى المُعامل ndigits في الأنواع المُضمّنة في بايثون التّي تدعم الدّالة round()‎، إن كان مُضاعفان قريبين بنفس المسافة، فسيُقرّب إلى الخيار الزوجي (فمثلًا، كلّ من round(0.5)‎ وround(‎-‎0.5‎)‎ يُساويان 0‎، و round(1.5)‎ يُساوي 2‎).

القيمة المُعادة تكون عددًا صحيحًا إن استُدعيَت الدّالة بمُعامل واحد، وإلّا تكون من نوع المُعامل number.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

>>> 100/3
33.333333333333336
>>> round(100/3, 2)
33.33
>>> round(1.8)
2
>>> round(1.2)
1

ملاحظات

  • إن كان المُعامل number كائن بايثون عامًّا، فستقوم الدّالة round‎(‎number‎,‎ ‎ndigits‎)‎‎ باستدعاء التّابع ‎number‎.‎_‎_‎round‎_‎_‎‎(‎ndigits‎)‎.
  • يُمكن لآليّة عمل الدّالة round()‎ أن تكون مُفاجأةً في بعض الحالات، فمثلًا، الاستدعاء round(2.675‎,‎ 2‎)‎ يُعطي 2.67 عوضًا عن القيمة المُتوقّعة 2.68‎. هذه ليست علّة، بل نتيجة للمشاكل والمعوّقات التي تفرضها العمليات الحسابية على الأعداد العشرية.

انظر أيضًا

مصادر