数値をフォーマットする

# NumberFormatter::format

# numfmt_format

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

NumberFormatter::format -- numfmt_format — 数値をフォーマットする

### 説明

オブジェクト指向型

public function NumberFormatter::format(int|float `$num`, int `$type` = `NumberFormatter::TYPE_DEFAULT`): string|false

手続き型

function numfmt_format(NumberFormatter `$formatter`, int|float `$num`, int `$type` = `NumberFormatter::TYPE_DEFAULT`): string|false

数値をフォーマット規則にしたがってフォーマットします。

### パラメータ

`formatter`

  NumberFormatter オブジェクト。

`num`

  フォーマットする値。int あるいは float で指定します。その他の型は数値に変換されます。

`type`

  使用する フォーマット形式。 `NumberFormatter::TYPE_CURRENCY` はサポートされていないので注意して下さい。 `NumberFormatter::TYPE_CURRENCY` を使いたい場合、 代わりに NumberFormatter::formatCurrency() を使いましょう。

### 戻り値

フォーマットした値を文字列で返します。 エラー時には `false` を返します。

### 例

例1 numfmt_format() の例

    <?php
    $fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
    $data = numfmt_format($fmt, 1234567.891234567890000);
    var_dump($data);
    ?>

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

    <?php
    $fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
    $data = $fmt->format(1234567.891234567890000);
    var_dump($data);
    ?>

上の例の出力は以下となります。

    string(13) "1.234.567,891"

### 注意

> 注意:

> このメソッドで実現可能なフォーマットでは、 ICU ライブラリが持つ機能をすべて使えません。 たとえば、短い通貨記号を使ってフォーマットする場合です。

> ICU ライブラリが持つ機能をすべて使うには、 msgfmt_format_message() を使います。

### 参考

- numfmt_get_error_code() - フォーマッタの直近のエラーコードを取得する
- numfmt_format_currency() - 通貨の値をフォーマットする
- numfmt_parse() - 数値をパースする
- msgfmt_format_message() - 手早くメッセージをフォーマットする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open