NumberFormatter::parse

numfmt_parse

Parse a number

&reftitle.description;

&style.oop;

public ``int``float``false```NumberFormatter::parse` `string` `string` `int` `type` NumberFormatter::TYPE_DOUBLE `int` `offset`&null;

&style.procedural;

``int``float``false```numfmt_parse` `NumberFormatter` `formatter` `string` `string` `int` `type` NumberFormatter::TYPE_DOUBLE `int` `offset`&null;

Parse a string into a number using the current formatter rules.

&reftitle.parameters;

`formatter`

- `NumberFormatter` object.

`string`

- The string to parse for the number.

`type`

- The formatting type to use. By default, `NumberFormatter::TYPE_DOUBLE` is used. Note that `NumberFormatter::TYPE_CURRENCY` is not supported; use `NumberFormatter::parseCurrency` instead.

`offset`

- Offset in the string at which to begin parsing. On return, this value will hold the offset at which parsing ended.

&reftitle.returnvalues;

The value of the parsed number or &false; on error.

&reftitle.examples;

### `numfmt_parse` example

    <?php
    $fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
    $num = "1.234.567,891";
    echo numfmt_parse($fmt, $num)."\n";
    echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
    ?>

### OO example

    <?php
    $fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
    $num = "1.234.567,891";
    echo $fmt->parse($num)."\n";
    echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
    ?>

&example.outputs;

    1234567.891
    1234567

&reftitle.seealso;

- `numfmt_get_error_code`
- `numfmt_format`
- `numfmt_parse_currency`