PHP Velho Oeste 2025

BcMath\Number::compare

(PHP 8 >= 8.4.0)

BcMath\Number::compareCompara dois números de precisão arbitrária

Descrição

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

Compara dois números de precisão arbitrária. Este método se comporta como o operador nave espacial.

Parâmetros

num
O valor com o qual será feita a comparação.
scale
O parâmetro scale especifica a escala a ser usada para comparação. Se for null, todos os dígitos são usados na comparação.

Valor Retornado

Retorna 0 se os dois números forem iguais, 1 se $this for maior que num, -1 cado contrário.

Erros/Exceções

Este método lança uma exceção ValueError nos seguintes casos:

  • num é string e não é uma string numérica BCMath bem formada
  • scale está fora do intervalo válido

Exemplos

Exemplo #1 Exemplo de BcMath\Number::compare() quando scale não é 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),
);
?>

O exemplo acima produzirá:

int(0)
int(0)
int(-1)
int(1)

Exemplo #2 Exemplo de BcMath\Number::compare() com especificação explícita de scale

<?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),
);
?>

O exemplo acima produzirá:

int(0)
int(-1)
int(1)
int(0)

Veja Também

  • bccomp() - Compara dois números de precisão arbitrária
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top