NumberFormatter::parse

numfmt_parse

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

NumberFormatter::parse -- numfmt_parseInterpreta um número

Descrição

Estilo orientado a objetos

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

Estilo procedural

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

Converte uma string em um número usando as regras atuais do formatador.

Parâmetros

formatter

Objeto NumberFormatter.

string

A string a ser convertida para um número.

type

O tipo de formatação a ser usado. Por padrão, NumberFormatter::TYPE_DOUBLE é usado. Observe que NumberFormatter::TYPE_CURRENCY não é suportado; use NumberFormatter::parseCurrency() em seu lugar.

offset

Deslocamento na string a partir do qual a interpretação será iniciada. Ao retornar, este valor conterá o deslocamento no qual a interpretação terminou.

Valor Retornado

O valor numérico convertido ou false em caso de erro.

Exemplos

Example #1 Exemplo de numfmt_parse()

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

Example #2 Exemplo OO

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

O exemplo acima produzirá:

1234567.891
1234567

Veja Também