NumberFormatter::format
numfmt_format
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::format -- numfmt_format — 数値をフォーマットする
説明
オブジェクト指向型
public NumberFormatter::format(int|float
$num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|false手続き型
numfmt_format(NumberFormatter
$formatter
, int|float $num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|false数値をフォーマット規則にしたがってフォーマットします。
パラメータ
formatter
-
NumberFormatter オブジェクト。
num
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);
if(intl_is_failure(numfmt_format($fmt))) {
report_error("Formatter error");
}
?>
例2 オブジェクト指向の例
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Formatter error");
}
?>
上の例の出力は以下となります。
1.234.567,891
注意
注意:
このメソッドで実現可能なフォーマットでは、 ICU ライブラリが持つ機能をすべて使えません。 たとえば、短い通貨記号を使ってフォーマットする場合です。
ICU ライブラリが持つ機能をすべて使うには、 msgfmt_format_message() を使います。
参考
- numfmt_get_error_code() - フォーマッタの直近のエラーコードを取得する
- numfmt_format_currency() - 通貨の値をフォーマットする
- numfmt_parse() - 数値をパースする
- msgfmt_format_message() - 手早くメッセージをフォーマットする
+add a note
User Contributed Notes 1 note
mrSplendid ¶
1 year ago
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google