NumberFormatter::setSymbol

numfmt_set_symbol

記号の値を設定する

説明

オブジェクト指向型

public bool NumberFormatter::setSymbol(int $symbol, string $value)

手続き型

bool numfmt_set_symbol(NumberFormatter $formatter, int $symbol, string $value)

フォーマッタに関連づけられている記号を設定します。 フォーマッタでは、この記号で数値の中のロケールに依存する文字 (パーセント記号など) を扱います。 この API は、ルールベースのフォーマッタではサポートしていません。

パラメータ

formatter

NumberFormatter オブジェクト。

symbol

記号指定子。 フォーマット記号 定数のいずれか。

value

その記号に対応するテキスト。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 numfmt_set_symbol の例

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

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

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Sep: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

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

Sep: .
1.234.567,891
Sep: *
1*234*567,891

参考

  • numfmt_get_error_code
  • numfmt_get_symbol