(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.
num
scale
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 resultado del ejemplo sería:
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 resultado del ejemplo sería:
int(0) int(-1) int(1) int(0)