任意精度数値の商と剰余を取得する

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — 任意精度数値の商と剰余を取得する

### 説明

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

`num1` を `num2` で割った商と剰余を取得します。

### パラメータ

`num1`

  被除数を表す文字列。

`num2`

  割る数を表す文字列。

`scale`
  結果の小数点以下の桁数を指定します。`null` の場合は、 bcscale() 関数でグローバルに 設定した桁数をデフォルトとして使用します。 それも設定されていない場合は `bcmath.scale` INI ディレクティブの値を使用します。

### 戻り値

1つ目の要素に商の値を表す string が、2つ目の要素に剰余の値を表す string が格納された配列を返します。

### エラー / 例外

この関数は、以下の場合に ValueError をスローします:

- `num1` もしくは `num1` が、BCMath で有効でない数値形式の文字列である場合
- `scale` が範囲外の値である場合

この関数は、 `num2` が `0` である場合、 DivisionByZeroError 例外をスローします。

### 例

例1 bcdivmod() の例

    <?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() に小数の値を指定する

    <?php
    [$quot, $rem] = bcdivmod('5.7', '1.3', 1);
    echo $quot; // 4
    echo $rem;  // 0.5
    ?>

### 参考

- bcdiv() - 2つの任意精度数値で除算を行う
- bcmod() - 2 つの任意精度数値の剰余を取得する
- BcMath\Number::divmod() - 任意精度数値の商と剰余を取得する

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