PHP Conference Nagoya 2025

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

Опис

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

Get the quotient and remainder of dividing num1 by num2.

Параметри

num1

The dividend, as a string.

num2

The divisor, as a string.

scale

Необов'язковий параметр, яким вказується кількість знаків після крапки в результаті. Якщо опущено, застосовується межа, що встановлена глобально функцією bcscale(), або ж 0, якщо межа ще не встановлена.

Значення, що повертаються

Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string.

Помилки/виключення

This function throws a ValueError in the following cases:

  • num1 or num2 is not a well-formed BCMath numeric string.
  • scale is outside the valid range.

This function throws a DivisionByZeroError exception if num2 is 0.

Приклади

Приклад #1 bcdivmod() example

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

Приклад #2 bcdivmod() with decimals

<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo
$quot; // 4
echo $rem; // 0.5
?>

Прогляньте також

  • bcdiv() - Divide two arbitrary precision numbers
  • bcmod() - Get modulus of an arbitrary precision number
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top