NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__constructСоздаёт средство форматирования чисел

Описание

Объектно-ориентированный стиль (метод)

public static NumberFormatter::create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter

Процедурный стиль

numfmt_create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter

Объектно-ориентированный стиль (конструктор):

public NumberFormatter::__construct(string $locale, int $style, ?string $pattern = null)

Создаёт средство форматирования чисел.

Список параметров

locale

Локаль, в которой будет отформатировано число (название локали, например en_CA).

style

Стиль форматирования, одна из констант стиля форматирования. Если передана NumberFormatter::PATTERN_DECIMAL или NumberFormatter::PATTERN_RULEBASED, то формат числа открывается с использованием данного шаблона, который должен соответствовать синтаксису, описанному в » документации ICU DecimalFormat или » документации ICU RuleBasedNumberFormat, соответственно.

pattern

Строка шаблона, если для выбранного стиля требуется шаблон.

Возвращаемые значения

Возвращает объект NumberFormatter или null в случае возникновения ошибки.

Ошибки

Выбрасывается ошибка ValueError, если значение параметра locale недопустимо.

Список изменений

Версия Описание
8.4.0 Теперь выбрасывается ошибка ValueError, если значение параметра locale недопустимо.
8.0.0 pattern теперь допускает значение null.

Примеры

Пример #1 Пример использования numfmt_create()

<?php
$fmt
= numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo
numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo
numfmt_format($fmt, 1142)."\n";
?>

Пример #2 Пример использования NumberFormatter::create()

<?php
$fmt
= new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo
$fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo
$fmt->format(1142)."\n";
?>

Результат выполнения приведённого примера:

1.234.567,891
millicentoquarantadue

Смотрите также