bcdivmod
(PHP 8 >= 8.4.0)
bcdivmod — Get the quotient and modulus of an arbitrary precision number
Description
Get the quotient and remainder of dividing num1 by num2.
Parameters
num1The dividend, as a string.
num2The divisor, as a string.
scale- This parameter is used to set the number of digits after the decimal place in the result. If
null, it will default to the default scale set with bcscale(), or fallback to the value of thebcmath.scaleINI directive.
Return Values
Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string.
Errors/Exceptions
This function throws a ValueError in the following cases:
num1ornum2is not a well-formed BCMath numeric string.scaleis outside the valid range.
This function throws a DivisionByZeroError exception if num2 is 0.
Examples
Example #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
?>Example #2 bcdivmod() with decimals
<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo $quot; // 4
echo $rem; // 0.5
?>See Also
- bcdiv() - Divide two arbitrary precision numbers
- bcmod() - Get modulus of an arbitrary precision number
- BcMath\Number::divmod() - Gets the quotient and modulus of an arbitrary precision number
↑ and ↓ to navigate • Enter to select • Esc to close • / to open