文字

NumberFormatter::parseCurrency

numfmt_parse_currency

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

NumberFormatter::parseCurrency -- numfmt_parse_currencyParse a currency number

说明

面向对象风格

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

过程化风格

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.

参数

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

参见

  • numfmt_get_error_code() - Get formatter's last error code.
  • numfmt_parse() - Parse a number
  • numfmt_format_currency() - Format a currency value

用户评论:

[#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

上一篇: 下一篇: