NumberFormatter::parse

numfmt_parse

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

NumberFormatter::parse -- numfmt_parseAnaliza un número

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Analiza una cadena y extrae un número, utilizando las reglas del formateador.

Parámetros

formatter

El objeto NumberFormatter.

string

La cadena a analizar para el número.

type

El tipo de formato a utilizar. Por omisión, NumberFormatter::TYPE_DOUBLE es utilizada. Tenga en cuenta que NumberFormatter::TYPE_CURRENCY no es soportado; utilice NumberFormatter::parseCurrency() en su lugar.

offset

La posición de inicio de análisis en la cadena. En retorno, este valor contendrá la posición de fin de análisis.

Valores devueltos

El valor numérico analizado, o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con numfmt_parse(), Estilo por procedimientos

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

Ejemplo #2 Ejemplo con numfmt_parse(), estilo 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";
?>

El resultado del ejemplo sería:

1234567.891
1234567

Ver también