المرشح format_number في Twig
< Twig
المرشح format_number يغير تنسيق الصيغ العددية:
{{ '12.345'|format_number }}
يمكن تمرير السمات إليه من أجل تعديل الخرج كما يلي:
{# 12.34 #}
{{ '12.345'|format_number({rounding_mode: 'floor'}) }}
{# 1000000.0000 #}
{{ '1000000'|format_number({fraction_digit: 4}) }}
قائمة الخيارات المدعومة هي:
grouping_used.decimal_always_shown.max_integer_digit.min_integer_digit.integer_digit.max_fraction_digit.min_fraction_digit.fraction_digit.multiplier.grouping_size.rounding_mode.rounding_increment.format_width.padding_position.secondary_grouping_size.significant_digits_used.min_significant_digits_used.max_significant_digits_used.lenient_parse.
يستطيع المرشح أن ينسق صيغًا عددية كثيرة غير الأعداد الصحيحة، انظر:
{# 1,234% #}
{{ '12.345'|format_number(style='percent') }}
{# twelve point three four five #}
{{ '12.345'|format_number(style='spellout') }}
{# 12 sec. #}
{{ '12'|format_duration_number }}
الصيغ الرقمية التي يمكن تنسيقها هي:
decimal.currency.percent.scientific.spellout.ordinal.duration.
تُستخدم مرشحات format_*_number كاختصار عن طريق استبدال الصيغة المطلوبة بمحرف * الموجود في الاختصار:
{# 1,234% #}
{{ '12.345'|format_percent_number }}
{# twelve point three four five #}
{{ '12.345'|format_spellout_number }}
تمرَّر السمات من أجل التعديل على الخرج كما يلي:
{# 12.3% #}
{{ '0.12345'|format_percent_number({rounding_mode: 'floor', fraction_digit: 1}) }}
يستخدم المرشح الإعدادات المحلية افتراضيًا، وتمرَّر إليه صراحة كما يلي:
{# 12,345 #}
{{ '12.345'|format_number(locale='fr') }}
لاحظ أن المرشح format_number جزء من IntlExtension وهذا لا يكون مثبتًا افتراضيًا، لذا ثبته أولًا:
$ composer require twig/intl-extra
ثم ثبت twig/extra-bundle في حالة مشاريع Symfony:
$ composer require twig/extra-bundle
أما غير ذلك فأضف التوسيع صراحة إلى بيئة Twig:
use Twig\Extra\Intl\IntlExtension;
$twig = new \Twig\Environment(...);
$twig->addExtension(new IntlExtension());
الوسائط
locale: الإعدادات المحلية.attrs: خريطة السمات.style: صيغة العدد المُخرج.