数値をパースする

# 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() - 通貨をパースする