Get the quotient and modulus of an arbitrary precision number

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Get the quotient and modulus of an arbitrary precision number

### 说明

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

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

### 参见

- bcdiv() - 两个任意精度的数字除法计算
- bcmod() - 任意精度数字取模
- BcMath\Number::divmod() - Gets the quotient and modulus of an arbitrary precision number

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open