# NumberFormatter::parse

# numfmt_parse

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

NumberFormatter::parse -- numfmt_parse — Analyse un nombre

### Description

Style orienté objet

public NumberFormatter::parse(string `$string`, int `$type` = NumberFormatter::TYPE_DOUBLE, int `&$offset` = `null`): int|float|false

Style procédural

numfmt_parse(
NumberFormatter `$formatter`,
string `$string`,
int `$type` = NumberFormatter::TYPE_DOUBLE,
int `&$offset` = `null`
): int|float|false

Analyse une chaîne et extrait un nombre, à l'aide des règles du formateur.

### Liste de paramètres

`formatter`

  L'objet NumberFormatter.

`string`

  La chaîne à analyser pour le nombre.

`type`

  Le type de format à utiliser. Par défaut, `NumberFormatter::TYPE_DOUBLE` est utilisée. Notez que `NumberFormatter::TYPE_CURRENCY` n'est pas pris en charge ; utilisez NumberFormatter::parseCurrency() à la place.

`offset`

  La position de début d'analyse dans la chaîne. En retour, cette valeur contiendra la position de fin d'analyse.

### Valeurs de retour

La valeur de nombre analysé, ou `false` en cas d'erreur.

### Exemples

Exemple #1 Exemple avec numfmt_parse(), Style procédural

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

Exemple #2 Exemple avec numfmt_parse(), style POO

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

L'exemple ci-dessus va afficher :

    1234567.891
    1234567

### Voir aussi

- numfmt_get_error_code() - Lit le dernier code d'erreur du formateur
- numfmt_format() - Formate un nombre
- numfmt_parse_currency() - Analyse un nombre monétaire