API Platform Conference 2025

BcMath\Number::compare

(PHP 8 >= 8.4.0)

BcMath\Number::compareCompare deux nombres de précision arbitraire

Description

public BcMath\Number::compare(BcMath\Number|string|int $num, ?int $scale = null): int

Compare deux nombres de précision arbitraire. Cette méthode se comporte de manière similaire à l'opérateur spaceship.

Liste de paramètres

num
La valeur à laquelle comparer.
scale
Spécifie le scale à utiliser pour la comparaison. Si null, tous les chiffres sont utilisés dans la comparaison.

Valeurs de retour

Renvoie 0 si les deux nombres sont égaux, 1 si $this est plus grand que num, sinon -1.

Erreurs / Exceptions

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ée
  • scale est en dehors de la plage valide

Exemples

Exemple #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)

Voir aussi

  • bccomp() - Compare deux nombres de grande taille
add a note

User Contributed Notes

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