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

被除数,字符串类型。

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

  • num1num2 不是格式正确的 BCMath 数字字符串。
  • scale 超出有效范围。

如果 num20,此函数会抛出 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
?>

参见

  • bcdiv() - 两个任意精度的数字除法计算
  • bcmod() - 任意精度数字取模
添加备注

用户贡献的备注

此页面尚无用户贡献的备注。
To Top