(PHP 8 >= 8.4.0)
bcdivmod — Obtém o quociente e o módulo de um número de precisão arbitrário
Obtém o quociente e o resto da divisão de num1
por
num2
.
num1
O número dividendo, como uma string.
num2
O número divisor, 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 um array indexado onde o primeiro elemento é o quociente como uma string e o segundo elemento é o restante como uma string.
Esta função lança uma exceção ValueError nos seguintes casos:
num1
ou num2
não é uma string numérica BCMath bem formada.
scale
está fora do intervalo válido.
Esta função lança uma exceção DivisionByZeroError
se num2
for igual a 0
.
Exemplo #1 Exemplo de bcdivmod()
<?php
bcscale(0);
[$quot, $rem] = bcdivmod('5', '3');
echo $quot; // 1
echo $rem; // 2
[$quot, $rem] = bcdivmod('5', '-3');
echo $quot; // -1
echo $rem; // 2
[$quot, $rem] = bcdivmod('-5', '3');
echo $quot; // -1
echo $rem; // -2
[$quot, $rem] = bcdivmod('-5', '-3');
echo $quot; // 1
echo $rem; // -2
?>
Exemplo #2 bcdivmod() com decimais
<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo $quot; // 4
echo $rem; // 0.5
?>