(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::parse -- numfmt_parse — 数値をパースする
オブジェクト指向型
$string, int $type = NumberFormatter::TYPE_DOUBLE, int &$offset = null): int|float|false手続き型
$formatter,$string,$type = NumberFormatter::TYPE_DOUBLE,&$offset = null現在のフォーマット規則を使用して、文字列を数値にパースします。
formatterNumberFormatter オブジェクト。
string数値としてパースする文字列。
type
使用する
フォーマット形式。デフォルトでは
NumberFormatter::TYPE_DOUBLE を使用します。
NumberFormatter::TYPE_CURRENCY
はサポートされていないので注意して下さい。
NumberFormatter::TYPE_CURRENCY を使いたい場合、
代わりに
NumberFormatter::parseCurrency()
を使いましょう。
offset文字列中でパースを開始する位置のオフセット。 結果を返す際に、この値はパース終了時のオフセットを保持します。
パースした数値、あるいはエラー時に false を返します。
例1 numfmt_parse() の例
<?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";
?>例2 オブジェクト指向の例
<?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";
?>上の例の出力は以下となります。
1234567.891 1234567