الدالة round()
في PHP
< PHP
اذهب إلى التنقل
اذهب إلى البحث
مراجعة 09:57، 22 مارس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(PHP 4, PHP 5, PHP 7)
تقرِّب الدالة round()
العدد العشري الممرَّر إليها.
الوصف
float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
تعيد هذه الدالة القيمة المقرَّبة للمعامل value
بحسب الدقَّة المحدَّدة في المعامل precision
(عدد الأرقام بعد الفاصلة). يمكن أن تكون قيمة المعامل precision
صفرًا وهي القيمة الافتراضيَّة أو قيمة سالبة.
ملاحظة: لا يمكن أن تتعامل PHP مع سلاسل نصيَّة مثل "12,300.2" وتقريبها بطريقة صحيحة. راجع قسم التحويل من السلاسل النصيَّة.
المعاملات
val
القيمة العدديَّة المراد تقريبها.
precision
عدد الأرقام بعد الفاصلة المراد تقريب المعامل val
إليها.
mode
استعمل أحد الثوابت الموضَّحة في الجدول التالي التي تحدِّد طريقة تقريب المعامل val
.
الثابت | الوصف |
---|---|
PHP_ROUND_HALF_UP
|
يُقرَّب المعامل val إلى أبعد عدد عن الصفر بحسب الدقة المحدَّدة في المعامل precision عندما تساوي قيمة الرقم المقرَّب 5 أو تزيد. يُقرَّب العدد 1.5 مثلًا إلى 2 والعدد 1.5- إلى 2-.
|
PHP_ROUND_HALF_DOWN
|
يُقرَّب المعامل val إلى أقرب عدد للصفر بحسب الدقة المحدَّدة في المعامل precision عندما تساوي قيمة الرقم المقرَّب 5 أو أكثر. يُقرَّب العدد 1.5 مثلًا إلى 1 والعدد 1.5- إلى 1-.
|
PHP_ROUND_HALF_EVEN
|
يُقرَّب المعامل val إلى أقرب قيمة زوجيَّة بحسب الدقة المحدَّدة في المعامل precision .
|
PHP_ROUND_HALF_ODD
|
يُقرَّب المعامل val إلى أقرب قيمة فرديَّة بحسب الدقة المحدَّدة في المعامل precision .
|
القيم المعادة
تُعاد القيمة المُقرَّبة للمعامل val
.
أمثلة
المثال 1: استعمال الدالة round()
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
المثال 2: استعمال المعامل mode
<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
المثال 3: استعمال المعامل mode
مع المعامل precision
<?php
/* mode = PHP_ROUND_HALF_UP, precision = 1 */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* mode = PHP_ROUND_HALF_DOWN, precision = 1 */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* mode = PHP_ROUND_HALF_EVEN , precision = 1 */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* mode = PHP_ROUND_HALF_ODD, precision = 1 */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>
سجل التغييرات
الإصدار | الوصف |
---|---|
5.3.0 | إضافة المعامل mode مع ثوابته.
|
5.2.7 | تغيير طريقة عمل الدالة لتتلائم مع معيار C99. |
انظر أيضًا
- الدالة
ceil()
: تُقرِّب العدد العشري إلى أكبر عدد صحيح. - الدالة
floor()
: تُقرِّب العدد العشري إلى أصغر عدد صحيح. - الدالة
number_format()
: تُنسِّق الفاصلة العشرية وفاصلة الآلاف للعدد العشري.