php[world] 2015 Call for Speakers

NumberFormatter::parseCurrency

numfmt_parse_currency

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

NumberFormatter::parseCurrency -- numfmt_parse_currencyParse a currency number

Descrição

Estilo orientado à objeto

public float NumberFormatter::parseCurrency ( string $value , string &$currency [, int &$position ] )

Estilo procedural

float numfmt_parse_currency ( NumberFormatter $fmt , string $value , string &$currency [, int &$position ] )

Parse a string into a double and a currency using the current formatter.

Parâmetros

fmt

NumberFormatter object.

currency

Parameter to receive the currency name (3-letter ISO 4217 currency code).

position

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

Valor Retornado

The parsed numeric value or FALSE on error.

Exemplos

Exemplo #1 numfmt_parse_currency() example

<?php
$fmt 
numfmt_create'de_DE'NumberFormatter::CURRENCY );
$num "1.234.567,89\xc2\xa0$";
echo 
"We have ".numfmt_parse_currency($fmt$num$curr)." in $curr\n";
?>

Exemplo #2 OO example

<?php
$fmt 
= new NumberFormatter'de_DE'NumberFormatter::CURRENCY );
$num "1.234.567,89\xc2\xa0$";
echo 
"We have ".$fmt->parseCurrency($num$curr)." in $curr\n";
?>

O exemplo acima irá imprimir:

We have 1234567.89 in USD

Veja Também

add a note add a note

User Contributed Notes 1 note

up
0
daniel at danielphenry dot com
29 days ago
The given examples confused me a bit. This may be a bit more clear:

$region = 'en_US';
$currency = 'USD';
$formatter = new NumberFormatter($region, NumberFormatter::CURRENCY);
echo $formatter->parseCurrency(12543.67, $currency);

Responds with:

$12,543.67
To Top