©
本文档使用
php.cn手册 发布
(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
NumberFormatter::parseCurrency -- numfmt_parse_currency — Parse a currency number
面向对象风格
$value
, string &$currency
[, int &$position
] )过程化风格
$fmt
, string $value
, string &$currency
[, int &$position
] )Parse a string into a double and a currency using the current formatter.
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.
The parsed numeric value or FALSE
on error.
Example #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" ;
?>
Example #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" ;
?>
以上例程会输出:
We have 1234567.89 in USD
[#1] daniel at danielphenry dot com [2015-04-29 17:19:45]
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