bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

Description

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

Get the quotient and remainder of dividing num1 by num2.

Parameters

num1

The dividend, as a string.

num2

The 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 the bcmath.scale INI 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:

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

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

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /