Obtém o quociente e o módulo de um número de precisão arbitrário

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Obtém o quociente e o módulo de um número de precisão arbitrário

### Descrição

function bcdivmod(string `$num1`, string `$num2`, ?int `$scale` = `null`): array

Obtém o quociente e o resto da divisão de `num1` por `num2`.

### Parâmetros

`num1`

  O dividendo, como uma string.

`num2`

  O divisor, como uma string.

`scale`
  Este parâmetro é usado para definir o número de dígitos após o separador de decimais do resultado. Se for `null`, será usada a escala padrão definida com bcscale(), ou será usado o valor da diretiva INI `bcmath.scale`.

### Valor Retornado

Retorna um array indexado onde o primeiro elemento é o quociente como uma string e o segundo elemento é o restante como uma string.

### Erros/Exceções

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`.

### Exemplos

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
    ?>

### Veja Também

- bcdiv() - Divide dois números de precisão arbitrária
- bcmod() - Obtém o resto de uma divisão com precisão arbitrária
- BcMath\Number::divmod() - Obtém quociente e resto de um número de precisão arbitrária

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open