PHP Conference Nagoya 2025

bcdivmod

(PHP 8 >= 8.4.0)

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

Descrição

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

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

Parâmetros

num1

O número dividendo, como uma string.

num2

O número divisor, como uma string.

scale
Este parâmetro opcional é usado para definir o número de dígitos após a casa decimal no resultado. Se for igual a null o padrão será a escala definida com a função bcscale() ou, em último caso, 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 é 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.

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
adicione uma nota

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

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