NumberFormatter::parse
numfmt_parse
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
NumberFormatter::parse -- numfmt_parse — 数値をパースする
説明
オブジェクト指向型
public
NumberFormatter::parse
( string $value
[, int $type
[, int &$position
]] ) : mixed
手続き型
numfmt_parse
( NumberFormatter $fmt
, string $value
[, int $type
[, int &$position
]] ) : mixed
現在のフォーマット規則を使用して、文字列を数値にパースします。
パラメータ
fmt
- NumberFormatter オブジェクト。
type
- 使用する フォーマット形式。デフォルトでは
NumberFormatter::TYPE_DOUBLE
を使用します。 position
- 文字列中でパースを開始する位置のオフセット。 結果を返す際に、この値はパース終了時のオフセットを保持します。
返り値
パースした数値、あるいはエラー時に 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
参考
- numfmt_get_error_code() - フォーマッタの直近のエラーコードを取得する
- numfmt_format() - 数値をフォーマットする
- numfmt_parse_currency() - 通貨をパースする