(PHP 8 >= 8.4.0)
BcMath\Number::compare — Compare deux nombres de précision arbitraire
Compare deux nombres de précision arbitraire. Cette méthode se comporte de manière similaire à l'opérateur spaceship.
num
scale
scale
à utiliser pour la comparaison.
Si null
, tous les chiffres sont utilisés dans la comparaison.
Renvoie 0
si les deux nombres sont égaux,
1
si $this est plus grand que num
,
sinon -1
.
Cette méthode lève une ValueError dans les cas suivants :
num
est un string et n'est pas une chaîne numérique BCMath bien forméescale
est en dehors de la plage valideExemple #1 Exemple de BcMath\Number::compare() lorsque scale
n'est pas spécifié
<?php
$number = new BcMath\Number('1.234');
var_dump(
$number->compare(new BcMath\Number('1.234')),
$number->compare('1.23400'),
$number->compare('1.23401'),
$number->compare(1),
);
?>
L'exemple ci-dessus va afficher :
int(0) int(0) int(-1) int(1)
Exemple #2 Exemple de BcMath\Number::compare() en spécifiant scale
explicitement
<?php
$number = new BcMath\Number('1.234');
var_dump(
$number->compare(new BcMath\Number('1.299'), 1),
$number->compare('1.24', 2),
$number->compare('1.22', 2),
$number->compare(1, 0),
);
?>
L'exemple ci-dessus va afficher :
int(0) int(-1) int(1) int(0)