NumberFormatter::create

numfmt_create

NumberFormatter::__construct

Create a number formatter

&reftitle.description;

&style.oop; (method)

public static ``NumberFormatter``null```NumberFormatter::create` `string` `locale` `int` `style` ``string``null```pattern`&null;

&style.procedural;

``NumberFormatter``null```numfmt_create` `string` `locale` `int` `style` ``string``null```pattern`&null;

&style.oop; (constructor):

public `NumberFormatter::__construct` `string` `locale` `int` `style` ``string``null```pattern`&null;

Creates a number formatter.

&reftitle.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.

&reftitle.returnvalues;

Returns `NumberFormatter` object or &null; on error.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `pattern` is nullable now.

&reftitle.examples;

### `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";
    ?>

### `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";
    ?>

&example.outputs;

    1.234.567,891
    millicentoquarantadue

&reftitle.seealso;

- `numfmt_format`
- `numfmt_parse`