NumberFormatter::setAttribute

numfmt_set_attribute

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

NumberFormatter::setAttribute -- numfmt_set_attributeAffecte un attribut du formateur

Description

Style orienté objet

public NumberFormatter::setAttribute(int $attribute, int|float $value): bool

Style procédural

numfmt_set_attribute(NumberFormatter $formatter, int $attribute, int|float $value): bool

Affecte un attribut numérique du formateur. Un exemple d'attribut numérique est le nombre de décimales à afficher par le formateur.

Liste de paramètres

formatter

L'objet NumberFormatter.

attribute

L'identifiant d'attribut : une des constantes attributs numériques.

value

La valeur de l'attribut.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec numfmt_set_attribute(), Style procédural

<?php
$fmt
= numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo
"Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo
numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo
"Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo
numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Exemple #2 Exemple avec numfmt_set_attribute(), style POO

<?php
$fmt
= new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo
"Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo
$fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo
"Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo
$fmt->format(1234567.891234567890000)."\n";
?>

L'exemple ci-dessus va afficher :

Digits: 3
1.234.567,891
Digits: 2
1.234.567,89

Exemple #3 Utilisation de NumberFormatter::ROUNDING_MODE pour tronquer les valeurs

Par défaut, NumberFormatter arrondit les valeurs. En utilisant NumberFormatter::ROUND_DOWN comme NumberFormatter::ROUNDING_MODE, les valeurs sont tronquées au nombre de chiffres fractionnaires spécifié sans arrondi.

<?php
$fmt
= new NumberFormatter('en_US', NumberFormatter::DECIMAL);
$fmt->setAttribute(NumberFormatter::FRACTION_DIGITS, 2);

echo
"Mode par défaut d'arrondi:\n";
echo
$fmt->format(3.789), "\n"; // 3.79 (arrondi au dessus)
echo $fmt->format(3.781), "\n"; // 3.78 (rounded en dessous)

$fmt->setAttribute(NumberFormatter::ROUNDING_MODE, NumberFormatter::ROUND_DOWN);

echo
"\nAvec ROUND_DOWN (tronquer):\n";
echo
$fmt->format(3.789), "\n"; // 3.78 (tronqué)
echo $fmt->format(3.781), "\n"; // 3.78 (tronqué)
?>

L'exemple ci-dessus va afficher :

Mode par défaut d'arrondi:
3.79
3.78

Avec ROUND_DOWN (tronquer):
3.78
3.78

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top