NumberFormatter::setSymbol
numfmt_set_symbol
(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
NumberFormatter::setSymbol -- numfmt_set_symbol — Set a symbol value
Description
Object oriented style
$attr
, string $value
)Procedural style
Set a symbol associated with the formatter. The formatter uses symbols to represent the special locale-dependent characters in a number, for example the percent sign. This API is not supported for rule-based formatters.
Parameters
-
fmt
-
NumberFormatter object.
-
attr
-
Symbol specifier, one of the format symbol constants.
-
value
-
Text for the symbol.
Return Values
Returns TRUE
on success or FALSE
on failure.
Examples
Example #1 numfmt_set_symbol() example
<?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";
?>
Example #2 OO example
<?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";
?>
The above example will output:
Sep: . 1.234.567,891 Sep: * 1*234*567,891
See Also
- numfmt_get_error_code() - Get formatter's last error code.
- numfmt_get_symbol() - Get a symbol value
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Internationalization Functions
- Функция NumberFormatter::create() - Create a number formatter
- Функция NumberFormatter::formatCurrency() - Format a currency value
- Функция NumberFormatter::format() - Format a number
- Функция NumberFormatter::getAttribute() - Get an attribute
- Функция NumberFormatter::getErrorCode() - Get formatter's last error code.
- Функция NumberFormatter::getErrorMessage() - Get formatter's last error message.
- Функция NumberFormatter::getLocale() - Get formatter locale
- Функция NumberFormatter::getPattern() - Get formatter pattern
- Функция NumberFormatter::getSymbol() - Get a symbol value
- Функция NumberFormatter::getTextAttribute() - Get a text attribute
- Функция NumberFormatter::parseCurrency() - Parse a currency number
- Функция NumberFormatter::parse() - Parse a number
- Функция NumberFormatter::setAttribute() - Set an attribute
- Функция NumberFormatter::setPattern() - Set formatter pattern
- Функция NumberFormatter::setSymbol() - Set a symbol value
- Функция NumberFormatter::setTextAttribute() - Set a text attribute
Коментарии
this could be obvious to some, but `setSymbol(NumberFormatter::CURRENCY_SYMBOL, '')` doesn't work for `formatCurrency` - it will simply be ignored...
use `NumberFormatter::CURRENCY` and `$fmt->format(123);` to get a currency value with the symbol specified as `CURRENCY_SYMBOL` (or `INTL_CURRENCY_SYMBOL`)