NumberFormatter::parseCurrency

numfmt_parse_currency

通貨をパースする

説明

オブジェクト指向型

public floatfalse NumberFormatter::parseCurrency(string $string, string &$currency, int &$offset = null)

手続き型

floatfalse numfmt_parse_currency(
    NumberFormatter $formatter,
    string $string,
    string &$currency,
    int &$offset = null
)

現在のフォーマッタを使用して、文字列を浮動小数点と通貨にパースします。

パラメータ

formatter

NumberFormatter オブジェクト。

currency

通貨名 (3 文字の ISO 4217 通貨コード) を受け取るパラメータ。

offset

文字列中でパースを開始する位置のオフセット。 結果を返す際に、この値はパース終了時のオフセットを保持します。

戻り値

パースした数値、あるいはエラー時に false を返します。

例1 numfmt_parse_currency の例

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

例2 オブジェクト指向の例

<?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
  • numfmt_parse
  • numfmt_format_currency