(PHP 8 >= 8.4.0)
BcMath\Number::compare — Comparar dos números de precisión arbitraria
Comparar dos números de precisión arbitraria. Este método se comporta de manera similar al operador spaceship.
numscalescale a utilizar para la comparación.
Si null, todos los dígitos son utilizados en la comparación.
Devuelve 0 si los dos números son iguales,
1 si $this es mayor que num,
de lo contrario -1.
Este método lanza una ValueError en los siguientes casos:
num es un string y no es una cadena numérica BCMath bien formadascale está fuera del rango válidoEjemplo #1 Ejemplo de BcMath\Number::compare() cuando scale no está especificado
<?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),
);
?>El ejemplo anterior mostrará:
int(0) int(0) int(-1) int(1)
Ejemplo #2 Ejemplo de BcMath\Number::compare() especificando scale explícitamente
<?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),
);
?>El ejemplo anterior mostrará:
int(0) int(-1) int(1) int(0)