NumberFormatter::setSymbol

numfmt_set_symbol

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

NumberFormatter::setSymbol -- numfmt_set_symbolSet a symbol value

Descrição

Estilo orientado à objeto

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

Estilo procedural

numfmt_set_symbol ( NumberFormatter $fmt , int $attr , string $value ) : bool

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.

Parâmetros

fmt

NumberFormatter object.

attr

Symbol specifier, one of the format symbol constants.

value

Text for the symbol.

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Exemplos

Exemplo #1 numfmt_set_symbol() example

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

Exemplo #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";
?>

O exemplo acima irá imprimir:

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

Veja Também

add a note add a note

User Contributed Notes 1 note

up
0
vreemt+phpnet at gmail dot com
3 months ago
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`)
To Top