php8.5
Home/ Manual/ intl / numberformatter/ NumberFormatter::create

NumberFormatter::create

PHP function Edit on GitHub ✎

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

Create a number formatter

Description

Oop (method)

NumberFormatter::create(string $locale, int $style, string|null $pattern = null): NumberFormatter|null

Procedural

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

Oop (constructor):

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

Creates a number formatter.

Parameters

locale

Locale in which the number would be formatted (locale name, e.g. en_CA).

style

Style of the formatting, one of the format style constants. If NumberFormatter::PATTERN_DECIMAL or NumberFormatter::PATTERN_RULEBASED is passed then the number format is opened using the given pattern, which must conform to the syntax described in ICU DecimalFormat documentation or ICU RuleBasedNumberFormat documentation, respectively.

pattern

Pattern string if the chosen style requires a pattern.

Return Values

Returns NumberFormatter object or null on error.

Errors/Exceptions

A ValueError is thrown if locale is invalid.

Changelog

VersionDescription
8.4.0A ValueError is thrown if locale is invalid.
8.0.0pattern is nullable now.

Examples

numfmt_create() example

php
<?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";
?>

NumberFormatter::create() example

php
<?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";
?>

The above example will output:

output
1.234.567,891
millicentoquarantadue

See Also

Source: reference/intl/numberformatter/create.xml · from the official PHP manual (php/doc-en)