الدالة round()
في بايثون
تعيد الدّالة 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
. هذه ليست علّة، بل نتيجة للمشاكل والمعوّقات التي تفرضها العمليات الحسابية على الأعداد العشرية.