PHP 8.5.0 Alpha 1 available for testing

NumberFormatter::setSymbol

numfmt_set_symbol

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

NumberFormatter::setSymbol -- numfmt_set_symbolConfigura el símbolo del formateador

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Configura el símbolo del formateador. El formateador utiliza el símbolo para caracterizar números, como el porcentaje. Esta API no es soportada para los formateadores basados en reglas.

Parámetros

formatter

El objeto NumberFormatter.

symbol

El identificador de símbolo, entre las constantes de símbolos.

value

El texto del símbolo.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo con numfmt_set_symbol(), Estilo por procedimientos

<?php
$fmt
= numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo
"Separador decimal : ".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
"Separador decimal : ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo
numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Ejemplo #2 Ejemplo con numfmt_set_symbol(), estilo POO

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

El resultado del ejemplo sería:

Separador decimal : .
1.234.567,891
Separador decimal : *
1*234*567,891

Ver también

add a note

User Contributed Notes 1 note

up
8
vreemt+phpnet at gmail dot com
5 years 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