الدالة 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(): عرض سلسلة نصية منسقة.