on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::format -- numfmt_format — Форматирует число
Объектно-ориентированный стиль
$num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseПроцедурный стиль
$formatter
, int|float $num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseФорматирует числовое значение в соответствии с правилами средства форматирования.
formatter
Объект NumberFormatter.
num
Значение для форматирования. Может быть целым числом (int) или числом с плавающей точкой (float), другие типы будут преобразованы в числовое значение.
type
Используемый тип форматирования.
Обратите внимание, что константа NumberFormatter::TYPE_CURRENCY
не поддерживается;
используйте вместо неё метод NumberFormatter::formatCurrency().
Возвращает строку, содержащую форматированное значение или false
в случае возникновения ошибки.
Пример #1 Пример использования numfmt_format()
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
report_error("Formatter error");
}
?>
Пример #2 Пример использования в объектно-ориентированном стиле
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Formatter error");
}
?>
Результат выполнения приведённого примера:
1.234.567,891
Замечание:
Форматы, достижимые этим способом форматирования, не могут полностью использовать возможности базовой библиотеки ICU, например, форматировать валюту с узким символом валюты.
Для полной поддержки, используйте функцию msgfmt_format_message().
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.