(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.
numEl valor al que comparar.
scale
Especifica el scale 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)