(PHP 8 >= 8.4.0)
bcdivmod — Get the quotient and modulus of an arbitrary precision number
Get the quotient and remainder of dividing num1
by
num2
.
num1
被除数,字符串类型。
num2
除数,字符串类型。
scale
null
,则使用 bcscale()
设置的默认小数位数,或者回退到 bcmath.scale
INI 指令的值。
Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string.
此函数在下列情况下抛出 ValueError:
num1
或 num2
不是格式正确的 BCMath 数字字符串。
scale
超出有效范围。
如果 num2
为 0
,此函数会抛出 DivisionByZeroError 异常。
示例 #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
?>