الدالة number_format() في PHP
< PHP
(PHP 4, PHP 5, PHP 7)
تُنَسِق الدالة number_format() الأعداد بالآلاف لعرضها.
الوصف
string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )
تقبل الدالة number_format() معاملًا واحدًا أو معاملين اثنين أو أربعة معاملات (لا تقبل الدالة number_format() ثلاثة معاملات).
- إذا مُرِّرَ إلى الدالة number_format() معاملٌ واحد، فتُنَسِق الأعداد دون كسرها العُشري مع إضافة فاصلة (",") لكل مجموعة آلاف (أي فاصلة بين كل ثلاثة ارقام).
- إذا مُرِّر إلى الدالة number_format() معاملين اثنين، فتُنَسِق الأعداد مع الحفاظ على كسرها العُشري بإضافة نقطة (".") قبله، وستُضيف فاصلة (",") لكل مجموعة آلاف (أي فاصلة بين كل ثلاثة ارقام).
- إذا مُرِّرَ إلى الدالة number_format() أربعة معاملات، فتُنَسِق الأعداد بعدد المعامل decimals من الكسور العُشرية مع إضافة المعامل dec_point (بدلًا من (".")) كفاصلٍ قبله. وستُضيف المعامل thousands_sep كفاصل لكل مجموعة آلاف (أي بدل الفاصلة ",").
المعاملات
number
الرقم المُراد تنسيقه.
decimals
يُحدد عدد االكسور العُشرية.
dec_point
يُحدد فاصل الكسور العشرية.
thousands_sep
يُحدد فاصل مجموعة الآلاف.
القيم المعادة
تُعيد الدالة number_format() نسخة منسقة من المعامل number.
سجل التغييرات
الإصدار | الوصف |
7.2.0 | عُدِلت الدالة number_format() حتى لا تُعيد القيمة 0-، قبل هذا كانت الدالة تُعيد القيمة 0- لأعداد مثل 0.01-. |
5.4.0 | دعمت الدالة number_format() قيم المعاملات dec_point و thousands_sep المكونة من عدة بايتات. النسخ السابقة كانت تأخذ البايت الأول في الحسبان فقط لقيم المعاملات. |
أمثلة
المثال 1: مثال بسيط عن الدالة number_format()
على سبيل المثال، يستعمل التنسيق الفرنسي رقمين للكسور العشرية و فاصلة (',') لفصل الكسر العشري عن العدد و مساحة فراغ (' ') لفصل مجموعة الآلاف. المثال التالي يُبين طرق عديدة لتنسيق الأعداد.
<?php
$number = 1234.56;
// التنسيق الإنكليزي (الافتراضي)
$english_format_number = number_format($number);
// 1,235
// التنسيق الفرنسي
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// التنسيق الإنكليزي دون فاصلٍ للآلاف
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>
انظر أيضًا
- sprintf(): إعادة سلسلة نصية منسقة.
- money_format() : تَنسيق رقم للعرض كالعملات.
- sscanf(): إدخال بيانات إلى النظام من سلسلة نصية حسب تنسيق معين.
- printf(): عرض سلسلة نصية منسقة.
مصادر
- صفحة الدالة number_format في توثيق PHP الرسمي.