(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Create a number formatter
Object-oriented style (method)
$locale, int $style, ?string $pattern = null): ?NumberFormatterProcedural style
Object-oriented style (constructor):
Creates a number formatter.
localeLocale in which the number would be formatted (locale name, e.g. en_CA).
styleStyle 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.
patternPattern string if the chosen style requires a pattern.
Returns NumberFormatter object or null on error.
A ValueError is thrown if locale is invalid.
| Version | Description |
|---|---|
| 8.4.0 | A ValueError is thrown if locale is invalid. |
| 8.0.0 | pattern is nullable now. |
Example #1 numfmt_create() example
<?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";
?>Example #2 NumberFormatter::create() example
<?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:
1.234.567,891 millicentoquarantadue