(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Obtém o resto de uma divisão com precisão arbitrária
Obtém o resto da divisão de num1
por
num2
.
O resultado tem o mesmo sinal de num1
.
num1
O operando da esquerda, como uma string.
num2
O operando da direita, como uma string.
scale
null
o padrão será a escala definida com a função bcscale()
ou, em último caso, o valor da diretiva INI
bcmath.scale
.
Retorna o resto como uma string.
Esta função lança uma exceção ValueError nos seguintes casos:
num1
ou num2
não for uma string numérica BCMath bem formada.
scale
estiver fora do intervalo válido.
Esta função lança uma exceção DivisionByZeroError
se num2
for igual a 0
.
Versão | Descrição |
---|---|
8.0.0 |
scale pode ser null.
|
8.0.0 |
Dividir por 0 agora lança uma exceção DivisionByZeroError ao invés de retornar null.
|
7.2.0 |
num1 e num2 não são
mais truncados para inteiro, de forma que o comportamento de
bcmod() é o mesmo de fmod() ao invés do
operador % .
|
7.2.0 |
O parâmetro scale foi adicionado.
|
Exemplo #1 Exemplo de bcmod()
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>
Exemplo #2 Exemplo de bcmod() com decimais
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 no PHP 7.2.0; anteriormente 0
?>